home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume24 / psroff3.0 / part15 < prev    next >
Encoding:
Internet Message Format  |  1991-10-09  |  56.8 KB

  1. Subject:  v24i110:  psroff, Troff to PostScript filter, Part15/19
  2. Newsgroups: comp.sources.unix
  3. Approved: rsalz@uunet.UU.NET
  4.  
  5. Submitted-by: Chris Lewis <clewis@ferret.ocunix.on.ca>
  6. Posting-number: Volume 24, Issue 110
  7. Archive-name: psroff3.o/part15
  8.  
  9. #! /bin/sh
  10. # This is a shell archive.  Remove anything before this line, then feed it
  11. # into a shell via "sh file" or similar.  To overwrite existing files,
  12. # type "sh file -c".
  13. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  14. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  15. # Contents:  DITROFF LJIII fonts.lj/H.10.pk.UU fonts.lj/S.7.pk.UU
  16. #   fonts.lj/S.8.pk.UU fonts.lj/S.9.pk.UU man/dumpft.1.S
  17. #   tests/chartab.m tests/testtab.m utils/catconv.S utils/showfont.S
  18. #   widths/widthps/HX
  19. # Wrapped by clewis@ecicrl on Fri Apr  5 20:56:04 1991
  20. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  21. echo If this archive is complete, you will see the following message:
  22. echo '          "shar: End of archive 15 (of 19)."'
  23. if test -f 'DITROFF' -a "${1}" != "-c" ; then 
  24.   echo shar: Will not clobber existing file \"'DITROFF'\"
  25. else
  26.   echo shar: Extracting \"'DITROFF'\" \(3322 characters\)
  27.   sed "s/^X//" >'DITROFF' <<'END_OF_FILE'
  28. X        Ditroff input configuration notes
  29. X            2.3 91/02/20
  30. X
  31. XThis document attempts to describe some of the issues of using
  32. Xpsroff with ditroff instead of CAT troff.
  33. X
  34. XThe heart of the whole issue is the use of the -N option
  35. Xto troff2ps (see lib/psrofflib.S).  Which permits the translation
  36. Xof ditroff codes into the desired output format.  This translation
  37. Xis fully supported in this release.
  38. X
  39. XThere are some other ancilliary issues in ditroff which you
  40. Xshould be aware of:
  41. X
  42. X    - trofftype
  43. X    - width tables
  44. X    - macro adapters
  45. X    - page offsets
  46. X
  47. XTrofftype:
  48. X---------
  49. X
  50. XIs forced to be '-T$width' if the -N option is in t2arg in
  51. Xlib/psrofflib.S by psroff.S
  52. X
  53. XWidth tables:
  54. X------------
  55. X
  56. XPsroff installation does not install ditroff width tables
  57. Xinto a place for ditroff to find them.  The "make installwidths"
  58. Xonly installs CAT-compatible width tables in FONTDIR/<widthname>/ft*,
  59. Xyet, ditroff will insist upon a FONTDIR/dev<widthname>/*.out format.
  60. X
  61. XThe supplied lj3 and ps widths (widths/width???) files are designed to
  62. Xoperate with full ditroff.  To use them, copy widths/widthlj3/[A-Z]* to
  63. XFONTDIR/devlj3 or widths/widthps/[A-Z]* to FONTDIR/devpsc.  Then,
  64. Xchdir to that directory and run "makedev".  Some ditroff releases
  65. Xcame without a "makedev" program.  A reimplementation
  66. Xof makedev was published in comp.sources.misc in 1988:
  67. X
  68. X    v02i084   mkfont  mkfont/rdfont--compile and uncompile ditroff fonts
  69. X
  70. XOther width tables that are built on the fly (lj & jt) need some
  71. Xhand fiddling before being slammed into makedev (headers on the files,
  72. Xand more complete DESC files).
  73. X
  74. XIn the lib/psrofflib.S file you should specify the "width=" parameter
  75. Xto be the suffix of the ditroff directory.  Eg: FONTDIR/devpsc should
  76. Xbe "width=psc".
  77. X
  78. XIf you wish to use the optimizer, you will need to perform a
  79. X"make installwidths", and then supply "-Z" and "-W/usr/lib/font/<x>",
  80. Xwhere <x> is "ps" or "lj3".  Eg: the optimizer must read CAT format
  81. Xwidth tables, and the name may not necessarily be the same as the
  82. X"$width" parameter.
  83. X
  84. XIf you alter width tables, you will have to repeat this process
  85. X(rerunning makedev with new width tables in dev$width, and
  86. Xreinstalling the CAT width tables by using "make installwidths").
  87. X
  88. XMacro Adapters & Page offsets:
  89. X-----------------------------
  90. X
  91. XWhen you specify "-mm", tsroff goes and looks for a file called
  92. X"tmac.m" in the macro library area, namely, /usr/lib/tmac.
  93. XIn order to support CAT troff, psroff looks in LIBDIR/adapters
  94. Xfor a file called tmac.m, which includes LIBDIR/adapters/cmn.pre
  95. Xto predefine some CAT-specific things, then includes
  96. X/usr/lib/tmac/tmac.m to customize the real tmac.m macros for
  97. XCAT limitations, then includes LIBDIR/adapters/cmn.post.
  98. X
  99. XYou'll probably want to simply replace adapters/tmac.*.S with
  100. Xa ".so" of the real macros.  Eg, for -mm, replace tmac.m.S
  101. Xwith:
  102. X    .so /usr/lib/tmac/tmac.m
  103. X    .de sR
  104. X    \X'\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9'
  105. X    ..
  106. X(Note, since I don't really know the ditroff convention for
  107. Xthe contents of \X, other code that relies on particular
  108. Xbehaviour for \X may not work.  Though, if you use the .sR
  109. Xmechanism as described in the psroff/troff2ps manual pages,
  110. Xthat will work just as it does with CAT troff.
  111. X
  112. XAlso, you'll probably want to override the default 1/2 inch offset
  113. Xthat troff2ps implements by specifying -O0 in the t2arg entry of
  114. Xlib/psrofflib.S.
  115. END_OF_FILE
  116.   if test 3322 -ne `wc -c <'DITROFF'`; then
  117.     echo shar: \"'DITROFF'\" unpacked with wrong size!
  118.   fi
  119.   # end of 'DITROFF'
  120. fi
  121. if test -f 'LJIII' -a "${1}" != "-c" ; then 
  122.   echo shar: Will not clobber existing file \"'LJIII'\"
  123. else
  124.   echo shar: Extracting \"'LJIII'\" \(4729 characters\)
  125.   sed "s/^X//" >'LJIII' <<'END_OF_FILE'
  126. X        PSROFF RELEASE 3.0 LJIII 1.2 91/04/05
  127. X
  128. X            Feb 19, 1991
  129. X            Chris Lewis
  130. X
  131. XThis file describes some of the differences between the "lj" and "lj3"
  132. Xvariants of psroff, and how you can make your older laserjet work
  133. Xbetter with better fonts.  The LASERFONTS file describes how to use
  134. XTeX fonts to build reasonably useful fonts for laserjets.  This file
  135. Xdescribes the lj3 structure using the scalable typefaces on the lj3,
  136. Xand how this can be ported back to dumber laserjets.
  137. X
  138. XThe original laserjet support in psroff is based upon commonly available
  139. Xfont sets from HP.  Which predated the Laserjet III.  This mechanism
  140. Xwas based upon the Math-8 and Roman-8 symbol set.  To make things simpler,
  141. Xbecause Math-8 itself is a little rare, psroff includes a "Math-8" set
  142. Xthat has been synthesized from TeX fonts at each of the 14 CAT troff
  143. Xsizes.  For best results you also need a set of the Roman, Italic
  144. Xand Bold fonts at the same sizes.  In Psroff, there is included a Roman
  145. XItalic and Bold font at 10 points for you to play with.
  146. X
  147. XHowever, since then the Laserjet III was released by HP.  There
  148. Xare two fundamental changes that this printer introduced: the first being
  149. Xthat the printer contains scalable typefaces.  Thus, psroff can treat
  150. Xit almost like a Postscript printer, and not download at all.  The
  151. Xother being that these scalable typefaces and an IBM PC program
  152. Xto generate SFP's (HP Soft font format) at any given size is being
  153. Xsold as a quite inexpensive product.  It allows you to buy the
  154. XHPLJ III fonts and build a complete set of softfonts for your older
  155. Xprinter.
  156. X
  157. XFurther, the "DeskTop" symbolset available on LJIII's is a better match
  158. Xto what CAT Troff needs, so this is used instead of Roman-8 for the LJIII.
  159. X
  160. XLJIII Structure:
  161. X
  162. XThere are two sets of widths for LJIII's, "lj3" and "lj3u".  The former
  163. Xhas the Times font for R, I, B, X and S (Upright, Italic, Bold, BoldItalic
  164. Xand Symbol), and the latter has Univers for R, I, B, X and S.  When the
  165. Xfont tables are built, the Times widths are cross-linked into the Univers
  166. Xarea as TR, TI, TB and TX.  Similarly, the Univers fonts are cross-linked
  167. Xinto the Roman area as UR, UI, UB and UX.  The Times S font is not available
  168. Xunder Univers and vice-versa because troff can't handle two separate S fonts.
  169. XThis permits you to select what your base fonts should be, whether Times or
  170. XUnivers, at the same time the other fonts can be selected with ".fp"'s with
  171. Xthe appropriate T or U prefix.  There are separate entries in the psrofflib
  172. Xfile (selectable by different -T arguments to psroff) to select whether
  173. Xyou want your base font as Times or Univers.
  174. X
  175. XIf you wish to add additional scalable typefaces, you should probably
  176. Xbuild a new family directory (widthlj3?), place the width files there,
  177. Xand modify the Makefile to cross-link these files into widthlj3 and
  178. Xwidthlj3u.  Then add a new entry into psrofflib to use the new widths.
  179. X
  180. XAt present, there is no easy way to build width tables for extra scalable
  181. Xfonts - the supplied widths were built by an eclectic mix of perl and C
  182. Xprograms on several different machines using the font metric files available
  183. Xfrom HP.  N.K. Krishnan (of HP, krishnan@iag.hp.com, did a lot of the hard
  184. Xwork) and I could probably never reproduce the same set of steps again.
  185. XPerhaps the simplest thing to do would be to copy an existing set and manually
  186. Xtweak them using the test sheet as a guide.
  187. X
  188. XZapf-Dingbats Cartridge/S2 font:
  189. X
  190. XThere is a scalable font cartridge that contains Zapf-Dingbats.  This
  191. Xfonts contains *real* \(bs, \(lh and \(rh.  The default psroff setup
  192. Xis to use a "sun" for bs, and =>/<= for rh/lh.  If you *really* want to
  193. Xuse the "real" glyphs, you have to obtain the cartridge and follow these
  194. Xsteps:
  195. X    - edit lj3.fonts and lj3u.fonts and uncomment the 3 lines in
  196. X      each that refer to bs/lh/rh.  This is described more precisely
  197. X      in lj3[u].fonts.
  198. X    - edit widths/widthlj3/S and widths/widthlj3u/S and *remove*
  199. X      the three lines pertaining to bs, lh and rh.
  200. X    - edit widths/widthlj3/DESC and widths/widthlj3u/DESC and
  201. X      change the line:
  202. X        fonts 5 R I B X S
  203. X      to:
  204. X        fonts 6 R I B X S S2
  205. X
  206. XUsing Scaled fonts on non-LJIII's:
  207. X
  208. XIf you obtain the scalable typefaces and the PC program, you can
  209. Xuse the program to generate SFP's for each typeface at the CAT
  210. Xtroff sizes.  You will want to build these fonts as Roman-8
  211. Xsymbolsets.  Then, copy these files from your PC to your UNIX system
  212. Xthat's running psroff.  (Don't forget to copy the files in *binary*
  213. Xmode!!!).  Follow the instructions in LASERFONTS on how to build
  214. Xand install these fonts and the new width tables etc.  Without some
  215. Xwork you will not be able to use a MATH-8 font produced in this way
  216. Xwithout borrowing some of the overrides from lj3.fonts into lj.fonts.
  217. END_OF_FILE
  218.   if test 4729 -ne `wc -c <'LJIII'`; then
  219.     echo shar: \"'LJIII'\" unpacked with wrong size!
  220.   fi
  221.   # end of 'LJIII'
  222. fi
  223. if test -f 'fonts.lj/H.10.pk.UU' -a "${1}" != "-c" ; then 
  224.   echo shar: Will not clobber existing file \"'fonts.lj/H.10.pk.UU'\"
  225. else
  226.   echo shar: Extracting \"'fonts.lj/H.10.pk.UU'\" \(5603 characters\)
  227.   sed "s/^X//" >'fonts.lj/H.10.pk.UU' <<'END_OF_FILE'
  228. Xtable
  229. X !"#$%&'()*+,-./0123456789:;<=>?
  230. X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
  231. Xbegin 644 fonts.lj/H.10.pk
  232. XM]UD``*``````````!":N``0FKM@/J0```!4)!_T<-S<W-S<W,-`0J````!4)
  233. XM!_@<8U-34U-34V#0$+,````<"0?W'"4W'B,S%S4@F`PA````#0,=^QS2$::0
  234. XMV!(B````%0L(_QSB-3$F+B$7$28AL#PC````(QXE_AS"XB<L8V/&XB<L8V/&
  235. XMXR<L8V.-`=+BHG+&-CQN,G*M(="#8\;B)RQC8\;B)RQC8\;B)RP@T#@D````
  236. XM%1`A_AY_+'>T02)",R0B,R?C-"=#)U(HB8F8F8DA6",X(TXW)$8D(24C,30C
  237. XM(T(A-:EL\G#`9R4````C'B'^'D32*&T#>,)T)*-S0Z)S8X-S8X*#8W.#8V.3
  238. XM8V*C8U.C8U+#0U/$)$/1A2TV4]1&)DU#5M,EC1-$),-30\)38Z-38Z)C8Y-C
  239. XM8X-S8X*#8W.#8W*C0W.D)'+(<]!H+21`P$LF````'QH?_AV$V&UHU3(]3D-#
  240. XMTS--,R34,CU3%-9M=;)UPF7"9[)4$[)$,Y)31()$4W)39%-3=$)C@S)SDQ*3
  241. XMA:.4@2-H0SHZ5G8@Z`LG````#`,(_!S_M);0("@````0"RK^'H-S<W-_-_-^
  242. XM(WXS?K.>,YXCGSGSDY.3D]@@*0```!`+*OX>.3DY.?.?.>(YXSGK/C<WXC?S
  243. XM?S<W-S<XT"<J````%1`2_AYR`0/?*"0D(5(B45$A5*CVBD42%14B)1)"0H\@
  244. XM$#TGT`\K````(!L<_A?>PL`X[-+`Z`LL````#`,(_`+_M);("2T````."P(`
  245. XM"=G8"2X````,`P/\`I#0+B\````5$"G^'@$/+3_2T]+3WRT]\M/?+3WRT]+3
  246. XMWRT]\M/?+3WRT]+3WRT]\@$`T"`P````%1`=_AMDJ'I41$-C/B.#'L.CXA.#
  247. XM,V-$1%IXEE#`$C$````5#1S\&W&C=EA2,Z[7-=W0*S(````5$!S^&U698T1#
  248. XM<S*$$Y,2I!&D$;/]/$P\3#Q+2TM,/#P\/#P\/`(@T"DS````%1`=_AM6B6-3
  249. XM0W,CA"\93/3#Q+2'EJ<!!-/4WC7[:4(H-#5%F670*C0````5$AO_&J35T1/"
  250. XM$[,3LB.O,CGS,X\T-S4V138V-48U-S1'-`)N:S30)34````5$!S^&A\!`N8]
  251. XM,E:UQ&-#54)&0D=.7$$902E")T0T1IAFT"XV````%1`=_AN%F'-18\/////3
  252. XM-4,H,QHF1"5D%(,4EN2C\3DQ.#,H,S8U-#>*5=@;-P```!40&_X:`BT\///#
  253. XMQ,/$P\]+XDOC3#SE2-`I.````!40'?X;5HI41#\X,>,Z/Q.#-$1:AHI41#\X
  254. XM,>4Z,3@R1D-$1:AET#$Y````%1`=_AMDJ'-#4V,S@C.#$Y,3HAY#II03A!1E
  255. XM)$8J$S@C14+?/2T])1<E-$:*5[@*.@````P#$OP1G8FX#SL````,`Q?\$9V)
  256. XM$N(1$A"8#+@````-`QW[%)IA'2#`$#T````@&PS^#QW!W@R]X=P0T""Y````
  257. XM%`\=_A1>(P6AWSSC+#OSL[2DOB/#H2-E$!`K9T#0(#\````4#QW^'#=K/21D
  258. XM(:/BP[2DI*2CPL/.(L\]$%KB-\`Y0````!P7'?X<I]&ZT8959*-4:31J,VLD
  259. XM5#835%434W?F4Y,34W,C5%0D5#1#:51G=&64UVA&TYS0A<`[00```!P9'?\<
  260. XML]CUUQ$];R(]0R33(TTR0](T31)4T28]#S9+\X2BE).DC]1_/$8M!%\]%#/2
  261. XM4O/303U4R#!"````'!4=_!S0C35(5$I#2T+D3$%+0DE3U$TFU$1H-*4DM13$
  262. XM'D30C$%+0DE3U$T7P"=#````&Q4?_1VHO'1D9))4TTT_33XDT^A-7B35]-5-
  263. XM5,%4HF1TC+=`R#!$````'A<=_!S1G3=(5DI42U-,0TT$)-$R]-%!32,>=-*.
  264. XM+104T$+TQ#2E1(9=-]&0N!%%````&1(=_!S<ZL+\4>M,+8#8$$8````8$1W\
  265. XM'`*.K?`2'M30P"Y'````'!4?_1VGO0=&54DT2R--/TT^)-/E34])S1/B%-`_
  266. XM),,TLT2C5)-D97T+=-@.2````!T4'?P<[$P#+MQ`:`E)````#`0=_!S=P!!*
  267. XM````%`T>_AR>VV=U0<*E9-A!2P```!T6'?P<0!"-04Q"2T-*1$E%2$9'1T9(
  268. XM14E$2D0[0UI":D$Q27)89$AE1U962$9(54E%2D1*4TM#],0DU!35N`Q,````
  269. XM%@\=_!SLY+T@R#=-````)!L=_!SB;2GB$]`A?B([(G)),G,Y(W\T<S?T-R1_
  270. XM1%-'4U)75#-7XF,R9^)S$G?BA(?70-@S3@```!T4'?P<]KJF$Z84EO(Y8DAC
  271. XM.&\T=O1&939E168U;V1&]T-H,VA";Y,FE!:C%JK[8,`U3P```!\:'_X=IM3-
  272. XM#1M665A73$5<5$T4/B330>=-6=-?%--"714TT41<55I76%E66]'0S4:@R!]0
  273. XM````&Q0=_!S1;31(4TI"2T'E3(M!2E%(8M0])>Q-,,`^40```!\:(_X=IM3-
  274. XM#1M665A76E5<5$T4/B330>A-5/%--"1S9#1D1$5D)51T%'58E5:]'0T=)A3:
  275. XM39797940V#-2````&Q4=_!S8`25(5$I#2T+D3$%+0DI22&,!-`$EV$9'1S='
  276. XM1O2$7TE$]*0TM"],04U`P"Y3````%Q(?_AUGFV-D0X,SHC+2XSTDTDT7R:N:
  277. XMJ=!M%-+TX])=`A.S%),U8VN78,@-5````!P9'?\<`E[=M*#8%U4````=%![\
  278. XM'.`833\4LS235'-T5(K&<,@T5@```!P9'?\<]-4^(4TS/TT31=`U],-^)*.?
  279. XM2#M'+/1CT$4M'T0])#+30CU/,BU4$M;UV#O(7U<````G)!W_'$Q-!_Q<,4L1
  280. XM/"+B2B(Z,T@R.31((T@T2"0X-4<D.";T8T1C9&)C8W128V*$0V1#A$)T0Y\T
  281. XM*#0J0R@S.D(I0COB,BHR+0,1LR'1,1PA+17%T4T%TCT3@,!%6````!P9'?\<
  282. XM%-(S701$Q&2SA).4A*1DQ%/1-$T4)--!/5;777]-=M8Q/4,DTD,]%%/0-DLX
  283. XM24A8.D<\14Q3314CTT%--<@Q60```!P;'0`<7505U#-=(U3115T#=;.4I)63
  284. XMM73$<]!5/21$TT,]11/603UVV%VNM+"P,EH````9%!W^'!_'PTPUPTPUPTPT
  285. XMPUPTPUPTPTPUPTPUPTPTPUPTPUPTPTPUPTPUPTP]P+@,6P````P(*?T>S^UE
  286. XMS+@,70````P(*0`>S.UES]`37@```!4.!_T<8K26<R-30S-C$X/@"V`````,
  287. XM`PC\'&DM_]`>80```!0.$OX11FH\(V,AD_LX9*+!1FXH=5'1D3)C,-@A8@``
  288. XM`!4/'?T<ZCPS5#&#TE111S$X?EEH,4<Q5%'2,8,S1=`;8P```!(.$OX15GE+
  289. XM)%,3D1.N4\.SD213.TEF,-`@9````!4/'?X<SJ-%,S@3+15%\3AN67@Q-T%4
  290. XM4M.!-%,PT!QE````$@X2_A%5>%HT1"-R(H`RXL.SD213+#IF,,`39@````T.
  291. XM'0`<AG=H4ZYC?[?M(W#`*F<````5$AO_$61$31/2,T-^0V-S0XJ)@Q2O/3M]
  292. XM!-(CE!XCQZ0593T5R(78%&@````5#AW]'.H[,U,Q@M%5AV[(,+@,:0````H$
  293. XM'?X<Q-'L4X`1:@````L*)0,<;C34Z<5)0813V"QK````%`\=_1SJ/#=!-D(U
  294. XM0S1$,T4R1C%'AY91-E(U0T0U-#5#-D(W,C=!.$"("6P````*`QW]'-[(&&T`
  295. XM```B&Q+]$3-F8S&3DM$;%69HA(;LDY/8$FX````5#A+]$3-3,8+158=NR##0
  296. XM'V\````5$A+_$6:J?%1D-(0CHQY#QZ03HR2$-&1<>J9@V"%P````%0\:_1$S
  297. XM5#&#TE111S$X?EEH,49!5%'2,8,S1><\T"%Q````%0\:_A%4,S@3+15%%&03
  298. XMAN67@Q-T%44M.!-%,^?#V!%R````#@D2_1$S8G&S5/1>HV#`&G,````0#1+_
  299. XM$3=:*Q1B'SI*=X:*2_2773*E<]`3=`````\,&/\7/E-OM.LY-!24A5+8$74`
  300. XM```5#A+]$>TX9@%1D3)C,-@>=@```!,0$O\1\Z,3DB\X,^(V->(T-_,CGR(J
  301. XM,2OT8-@Y=P```!P9$O\1\W5V<A)S$V(38B-3$U,O-3(E,S0C,S3S,S,S4C-"
  302. XM,F,B4R)O,34Q-_(2<A*%=92#4-`I>````!,2$@`1$Z,D@T1C8U.#0Y,CMM0!
  303. XM`P$4UK,CDT*30W-C4X,SHQ2DV"QY````$Q`:_Q'SH_$X,D<S\V-34F-#<D-S
  304. XM,H,CDB.3$K(2LA'?/?+?+3AY:EO0&'H````2#A+_$1XME)2CI)2CHZ24HZ24
  305. XMD"R8"?8````5%`,`#-+@$:P````5#@7]&SP=^'?_N'[@\-@+JP```!4,!/P<
  306. XMXT1`T!#^````(!L<_AK>PL`XZM+`.,!4T@```"`;'/X7I]4G+1*RL=(9'4%Q
  307. XMU!$5'4$Q0=,4$QTQ82'2%Q$=(9+1&BT!LOP<*QT"H=$I'2$1<=(2%ATQ,4'3
  308. XM%!,=05$1U!<=09'2&RLM$G+5>L`??@```"`;"?X.5=,3C2$KT!%%2UA86T5!
  309. XM'0LATH,=-5#`3/L````J)1S^%]HJ+82$UDA-<Y/72$UDA-9(37.3UTA-9(36
  310. XM2$USD]=(36](3:2$VCD]I(3:2$VDA-HY/:2$VDA-I(3:.3VDA-I(3:*BR$S]
  311. XM````*B4<_A<J+:2$VDA-HY/:2$VDA-I(3:.3VDA-I(3:2$VCD]I(3:](362$
  312. XMUSD]=(362$UDA-<Y/72$UDA-9(37.3UTA-9(38*BVM`[O0```!(+)?T<-5)!
  313. XM,U$B9?5F$3DI.2HI-R(D,R,D,34AXC4Q)3$T(R,T(B<Y*BDY*3$6;U5B(5,Q
  314. XM0E4PF`E?````%14#`/?5B`E\````#`(I^Q[9&`K\````&105_A0/(,`K/```
  315. XM`"`9&/T5V3UTUDUDUDUDUDUDUDUDUDUO3:3:3:3:3:3:3:3:3:3:3:/(*SX`
  316. XM```@&1C]%3VDVDVDVDVDVDVDVDVDVDVO3636363636363636363637/9R"Q<
  317. XM````%1`I_A[RTN(M+B+2XBTN(M+RTN(M+B+2XBTO+2XBTN(M+B+2XBTBTA#0
  318. XM&WL````5#BG]'J2#H[*^P[*SDX33T\+.P\+#P]38&WT````5#BG]'DT]/"SL
  319. XM/"P\/4@Z.ROL.RLY.$K`-[L````@&1W\'-1=8D'3-AT3<=$I'#D<-SLW/#@=
  320. X<#SV.(]6]3C/8XSU'H5FA0D6!45=#43,XA'6`]4'3
  321. X`
  322. Xend
  323. END_OF_FILE
  324.   if test 5603 -ne `wc -c <'fonts.lj/H.10.pk.UU'`; then
  325.     echo shar: \"'fonts.lj/H.10.pk.UU'\" unpacked with wrong size!
  326.   fi
  327.   # end of 'fonts.lj/H.10.pk.UU'
  328. fi
  329. if test -f 'fonts.lj/S.7.pk.UU' -a "${1}" != "-c" ; then 
  330.   echo shar: Will not clobber existing file \"'fonts.lj/S.7.pk.UU'\"
  331. else
  332.   echo shar: Extracting \"'fonts.lj/S.7.pk.UU'\" \(4268 characters\)
  333.   sed "s/^X//" >'fonts.lj/S.7.pk.UU' <<'END_OF_FILE'
  334. Xtable
  335. X !"#$%&'()*+,-./0123456789:;<=>?
  336. X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
  337. Xbegin 644 fonts.lj/S.7.pk
  338. XM]UD``'``````````!":N``0FKL`M(0```!85'?\5UQUB_5+5XBU?+5\M7RU2
  339. XM@I)SDF$2@J)RKR8L\D+1XB(M/TU?+-`O)````"$;#?X,1+1C%')",F)1@2&"
  340. XM,9$1HA&RXK.RL1*A$9$R@2&!4F(R0G039+1`L!HE````&A44_A"AQSQ5Q3QQ
  341. XM!"W@0AQSQ5Q3QQK0*"8````:%`W^##2C(B-B06)!87(A891ADW&B<:-AE'&!
  342. XM(F%Q0F%"8U2CV"$J````&A`0_`XL6C$X,S8U-#<R.6OTMI,C<T-38S.#$Z7"
  343. XMN`DM````&A("_0?8P"0\````&A(4_1#3+130/0/03$Q-`]`]#TTSU#TTTTTT
  344. XMTSU#TTTRR"0]````&A(4_1`M--,]0]------,]0]/TT#T#T$Q,30/0/031+3
  345. XMR!1#````%1(4_Q/40X-/.A3B.QZS/*C`+40````;%A3^$Z\M9-1M,2/2(DT1
  346. XM0]`53!8[%TH8.1HW*D8<-2Q$'1,QTD+7$!_`+T@````9%!3^$W;#0X.#4Z-"
  347. XMPC/#(M$A,Q83;B.#8Q83;1,2T2(\,RPD.C4X.#0\9\`D2P```!<4%/\3GB+4
  348. XM]-(131\2/0XA0[\6.1=(\8-QE&&C4Y0F:+`:3@```!83%/\3'\4N(<,0(1L6
  349. XM_!8;$"#B'%VPR`]0````&184_Q/9[4,Z,Y20R"M2````&!,4_A/5([,DLC2Q
  350. XM0[)#L42A5-,]3SU!U!H6&Q4;)!PC'",<,M0=4=`64P````T*$/X,53)!(G)^
  351. XM0I.$@Y\H%R30&E0````9%!3^$R2$-U82-#,S8B)A^"$@$NP]M,`H50```!@3
  352. XM%/X32\XCT7DR,C4D-",T-#'C-34Q-#0S)#0E,C(Y?1XCRT#0)%<````9%!3^
  353. XM$UO>(X131.4C0S-20S)C,R-S(R*3$Q+&`2XCVT#0*E@````8%13_$W?#4X.3
  354. XM4[-"TCXSTS+20[-?*R<I)!,I(R09%#,G(RXA9V'(+5D````<%A3^$P'QUR32
  355. XM$ST11,)3P62B<Z&3@:1QLV'$4=`T'10BTC(=-M1-;RK`+5H````2#Q3^$V61
  356. XM47%Q4V)#<='R9#)"0A(R81(B@B\I(B@B*2(I%!@D)B8D*%?`)EP````:$AO]
  357. XM$],M%,30/03$Q-`]!,]---,]------,]----,@30%\@E7@```!H2&_T3+333
  358. XM33/3333333/333],30/03$Q-`]!,31(%T!>X"5\````/#@,`^M[@)&$````6
  359. XM$0W^#`/`!A!&#"8#)@&3`-&`:8`XP!@@#!@.!!FA\&#`+6(````3$!K_$Z2B
  360. XM08%B87)1@E&!48)?$V88%>,9(_&20G)2<5$A0F$U?QT>,=+`(F,````1$!,`
  361. XM#$1Q)V$4(T$A<4$1@B'!(<XA$=#B+1XAT>,6T"1D````#PL4_A-D8C'C0J.$
  362. XM8A-!0C)"+R82)2'R83%2,5%1,7-0T!9E````#@D-_0Q%,F%R8G<B?QCR@D$U
  363. XM(-`A9@````\,&O\3CQM'$38:&AHI\J&N,I.O*CI96CKR83�-`B9P```!$-
  364. XM$_\,(D0A$A(R$2)3(U,B8O,F+C(F(O)BORKB*Q3@)&@````0"Q3^$P.`B#&,
  365. XM,09@S!L#8&___V!L#8,P9@C#&,$0'`#@%&D````,!PW^#!@P88,&&#!CAQ9G
  366. XM`.`?:@```!,.#?X,&#ACX9,,@#0`X`/X&'!@Q8,6#'`RP'#0)6L````4#Q3^
  367. XM$S,!`@$/+3WRT]\M.THA.",G)"8F)"<C*"(J(2HPT"1L````%`\3_@Q.(F).
  368. XM,F)"8E\F(A(E,A%#$2$2(4,R\LXBT0$`X!YM````$0T-_@QX&,#&!F!C`Q@P
  369. XMP0P888,8&8&P#@``T"%N````#PP:_Q-_&U4A1"DIXBL;]T*?*>(J.DE96CHF
  370. XM$Q@TT!MO````$`P-_@QC<C)"43)BXA)T]R(6(R45$R=%T"!P````$P\-_@PM
  371. XM$!(Q,5%!,:$QDB*?$RCR,G)"<D-A85#0(W$````1#1/^#'2"(F%14E+B,F+R
  372. XM)B,F%"44(1,5(C;RKB*QP-`;<@```!,/#?X,:4LR0F)B3B)R/R<D)B86&!,J
  373. XM2,`5<P````\-#?X,*QT4%A4;\K\;XBKR@.`?=````!(.#?\,.`4P-,!C`9@$
  374. XM8!&`3`(P",!#`@80!X#`,G4````4$!K^$[\='C'1'062(2)203(R05$Q45+Q
  375. XM)15%%2(5%2(D%",D$R4B$CAL\='C&M`Q=@```!41$_\,([$1(I%3<7)A@E&B
  376. XM0:(QPA'3`0(!$]$2P2.A0I%2@7)Q<C$ADB$1LR#`-7<````6$AK_$]#QT^,=
  377. XM,8-A41$B44(1(E%2,D%B(E%A\R46$B46$_)145)!07(A,I?1\=/C&M`A>```
  378. XM`!42#0`,,=$QPO(0$!XA%R8_8F$A8E$R-2)&)E1#4*@)>0````H"'?T5W]`3
  379. XM>@```!$+'?X5@V*.HG-4HZZBHK/8$WL````1"QW^%4HZZBHK-BCJ)S5'T!A\
  380. XM````&A0/_@TTP1BA&G5&17H1J!'$!]`J>`U]````&A00_@Z@W*#<H-@<?@``
  381. XM`!$+'?X5XBKB*N(JXBKB*O*N(JXBKB*O*A#`*W\````:%!3^$S1D2"@31D5D
  382. XM9/<G3]-=$Q+1(CPS.C4J)D9(-#LR/0;234\IP!>A````$0P:_A-AHI1Q$A%"
  383. XM(B(10D'M926@%*(````A&PK^"[KQP!P!/;O!OAOO%<`7HP```!$,&OX37M8E
  384. XM%"01(B(D$2$722L5H!2D````(1H*_0M/&]&]&\V2&_&_\;K8'*8````1#0[_
  385. XM#2M)9R(V(T0E0O)V5"(T0B-F=)*PT!RH````$0T._PVRE'94(D-")%;W(D4D
  386. XM-"5")VE+(+@)L`````\.`P`6WM@0M0```!80$?X0["Q:,49#QV70$+8````6
  387. XM$!'^$%9\-&03I>S"T!JW````%@X4_1!H2C.CH[*SORP"#\/"P\/#RFC`'[H`
  388. XM```:$A3]$&Q-$ST3T3TBTCTN4M,],M,],],]/1;`R!^[````&A(4_1#&T=,]
  389. XM,],],M,^73+2/2+2/1/1,]%,8,`BO@```!H2&_T3;$T3/1/1/2+2/2Y2TSTR
  390. XMTSTSTST]%L!._4#((K\````:$AO]$\;1TSTSTSTRTSY=,M(](M(]$]$ST4P%
  391. XM/]00N`S(````%A`)_@K4YL(@D!',````$0L._@U#9S^1V/&3=C3`-\T````A
  392. XM&QK^$Z?4T,5UD]`W/2-3U#0M8C/6,BV"$]A>7:78,2V"(]8S+6)#U#4](W/0
  393. XM.5=<T-1ZP`_.````#PH:_A-.4DU^U$)`P!3/````#PH:_A-.4DKE0M7D)-?D
  394. XM0D#0']4````.#!K^$X.1(7(2<2)QKD*>4IY"H7(A<A)Q(9.`X"G8````$0L8
  395. XM_A4!@#!^&<8\AI#6.\9XSQGG/,>8\QYCW&L)XSQCF'X,`8#`1]D````A&QK^
  396. XM$Z?5O11TL[.2TB<M0E+6)"E5(R@5)2(G%34A)R871QTDXV+2(28M`B)B<5(R
  397. XM8E%20H5B4M0G+2*3L[1TT;U7H+@,V@```!4/$/X/U.N]0*@+X````!X*'?04
  398. XMW.O%J`SA````'@H=]!;KQ5UPP!3B````'@H=]!2"9%147T7T551>U570%N,`
  399. XM```>"Q_Z%FZ5]5545&4X9UA7]7Z5R!/D````'@H=]!;M561E;T?T='1T@J@,
  400. XM\````!X+'?H4W.O&4)`+\0```!X+'?H6;JW2R!7R````'@L=^A0I2$A(2$=7
  401. XM1_5T?M10V!;S````'@H?]!;I5O5E975S535%3U3I5<`6]````!X+'?H6;M16
  402. XM1O5D961D9&1D<I`X"?4````>!1_T%M>X"?8````A(`$`"-3`(?L````A&Q+^
  403. XM#Z\MLMLMO6?84ME-A-P]T]P]W7C5KRW?+2#8"OP````5#Q#^#P\@P"']````
  404. XM(1L2_@_2\MTMTIUGV-TMU-Q-D]D]HUUXU=ORV_*@L`_^````&A06_A2>DIW.
  405. X%>2G<]?;2
  406. X`
  407. Xend
  408. END_OF_FILE
  409.   if test 4268 -ne `wc -c <'fonts.lj/S.7.pk.UU'`; then
  410.     echo shar: \"'fonts.lj/S.7.pk.UU'\" unpacked with wrong size!
  411.   fi
  412.   # end of 'fonts.lj/S.7.pk.UU'
  413. fi
  414. if test -f 'fonts.lj/S.8.pk.UU' -a "${1}" != "-c" ; then 
  415.   echo shar: Will not clobber existing file \"'fonts.lj/S.8.pk.UU'\"
  416. else
  417.   echo shar: Extracting \"'fonts.lj/S.8.pk.UU'\" \(4648 characters\)
  418.   sed "s/^X//" >'fonts.lj/S.8.pk.UU' <<'END_OF_FILE'
  419. Xtable
  420. X !"#$%&'()*+,-./0123456789:;<=>?
  421. X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
  422. Xbegin 644 fonts.lj/S.8.pk
  423. XM]UD``(``````````!":N``0FKL`Z(0```!H:(?\8W!VR_:+:\MKRVO+:\MKR
  424. XMVO*API/"@2*RLJ+0*2T"@M(G+2)BTS4M3R0M;R(MCTVO+2#0-"0````C'@[^
  425. XM#47%<B2#05%C8G$QDD&A$J(APL3"P]+3PL3"P2*B$:%"D3%R8V%10X0B=<5`
  426. XMH!4E````&Q84_A&4MO:V0$S1!,2V]K9)T"PF````&Q8._@U$LR,4<D)B46&"
  427. XM,6&B$F&D<;*!PG&T8:(2<9$R88%28D)T5+/8)2H````;$!+[$"Q:,3@S-C4E
  428. XM-C0H,CEK]+:3(W-"<E-38S.#$Z7"N`DM````&Q0"_0C<P"@\````&Q06_1+5
  429. XM+33132/2/2313132/2/2]-4]8]5-5-5-4]8]5-5-4L@H/0```!L4%OT2+535
  430. XM35/6/5353535/6/5]-(](])-%-%-(](])-%-,M7(%4,````6$Q?_%M5#DT\[
  431. XM%.(\'M$ST*G`,40````=&!?^%K\MCTUO$CU/%#TA8]`F3!@[*$H:.2I('#<=
  432. XM!&'1-1TD0=,S'40MD0(PP#9(````&Q87_A:&T28J.#<Z-3PT+1(_/1,3TV,8
  433. XM$VXCHV,8$VTS$M,B/1,RT20\-3HW.#HF+1:`P"Q+````&!47_Q:AUN(]1=/Q
  434. XM$](A31\3/0(TSQ4[)4KQ<Y)TCQDW*48;-3HS=9"P&TX````8%1?_%A_'+B'%
  435. XM$"CQL8_!CQL0/.(<??#(#U`````:%Q?_%MKM<SLSE9#(,E(````9%!?^%M8C
  436. XMPR3",]`4/"-,%#P5/434/5/434+5'5'5'!4=`?0=`C'0(QT#+5'6$-`:4P``
  437. XM``T,$?\-9D)1(I*AKB*CHZ2DH[*AHH-`P"!4````&Q87_A8EA3=G$S-#-'(R
  438. XM8G(B<9(2U"$=;M$]*U#0+U4````9%!?^%EO>(P$(HR,3<D,R4E-",U-#'D-C
  439. XM4Q-30S)30E)#,G,C$Z@!'B/;0,`H5P```!L6%_X6:]+B.48U3G(U-#4T-"8T
  440. XM,S<D,RDC,BLQ,2T7U.(]*U#`+E@````9%!?^%FBC8W*B4L(SPQY#T3$M$B\\
  441. XM,RPE\J)R@D$R@C)!@4,R8C+B%F80R#%9````'1@7_A8",=DDU!,],432%3T1
  442. XM9-`7/!A**3H:2"LX'$8M`V'2\T'4\R'6]-CRL,`R6@```!,0%_X69I%2<8%1
  443. XMH4."(Y+BT293)"42(Q@1(AHQ*B'RLA*B(;(AHC*148%Q4I6`4"I<````&Q0>
  444. XM_15L)J1H1I-I1H1H1H1I-I1H]&Q&PVQ&Q&Q&Q&PVQ&Q&PM*"2"E>````&Q0>
  445. XM_14EU%U%TUU%U%U%U%TUU%WT646C6D6464646C6D646RU7.H"5\````1$0,`
  446. XM^=C@*&$````7$@[^#0?``PP1`02`8F`8L`,L`-,`.(`.(`,,`<,`L&#$C\#`
  447. XMP#9B````%!,=_Q;$T"0:)BD8&!DF&28:)AH7&2859Q58&A<:)>,;)/*B4I)A
  448. XM$7)A,5)Q19\=3C'5P"9C````$A(4``U4@3=Q)"-1(G)!$I%!$:$QT1(='B$1
  449. XMTN(M/B'3XQ;0*60````0#1?^%G2!0E%A0K&RPK.SI((B85)!8C)Q+R@2)R+Q
  450. XM@3\F%2,G1]`490````X*#OX-53-B?R>"Y"D:)"-2T"!F````$`T=_A:1OQU'
  451. XM9BH;*BKRKRKF*SM*:6H\\F(QDT#0)&<````2#Q3_#2-4(3$B,A$S81$R<C-B
  452. XMXD)RXS)R/R<M\LXBT4#0+F@````0#1?^%G2"(F)!4E%184)B,7(B<B)Q+R<B
  453. XMLB<AXB<B\F(R4D)184)B(H.`T!9I````#`@._@U!;B)>(E\F)#4T$A,30^`D
  454. XM:@```!00#OX-"`X8/AA,&8`R`#P`/\`P<&`P8#%@,6`RP#+`',`J:P```!40
  455. XM%_X60](M$]'RT3T?+2\M$]'RT$L2*A,I%2<6)A<E*",I(BI<(,`F;````!41
  456. XM%/X-48%N(G)>,G)2<F\G(Q(F,Q%$$2(2(5,S\M'B+2'3T"%M````$0\._@T4
  457. XMD?,H(R<C*"/R<D)B0F)24F)"<B*"$Y/`T")N````$`T=_Q:1OQQ6(40JY"SW
  458. XM4J*O*N(K.SM*:EL[)A080]`<;P```!$-#OX-57)!47$Q@A*$XI/Y(2<B)B0D
  459. XM)E;`)'`````4$@[_#4T3TB%!06%1,6%A,<XA0;)!L5&B4:)2@F*"<5#0(W$`
  460. XM```2#A3^#82",F)17R8N(R<O(G(R8D)A0A$R4B1O*^(L'=`=<@```!01#O\-
  461. XM:UPS0H)B8G)>(H)/*"87)R89%"M*P!IS````$!`._PU,/0(5&!87%QT?+1\=
  462. XM'B+0\I#0('0````3$0[_#3.1,2)S\1,H-"@5XBD4\I%2@7%Q@E&U8,`P=0``
  463. XM`!41'?X6P=+C'2XQT&@R$R4D%",E%1(E%DXF%D]18A)14C%10E(A,I;0\=+C
  464. XM&\`U=@```!83%/\-(]`1$BL2$RD7-QDF&C0<(QT#$=(],M4M,](1/0$RP4.A
  465. XM8I%S<9(Q(;(A$=`RP#EW````%Q4=_Q;2'6XQUN,:-A83$B45/Q$R46-"07%?
  466. XM)1<5)185)1<5)186)148)!0:(A,M!M3QUN,<P"IX````%A0._PTQT1,=$_$=
  467. XM,Y%Q'Q@G$1@F(1@7$A<F(A8U(S(Q(C5B9T1&F`EY````"@(A_!C8T!=Z````
  468. XM$@TA_AB4@J*NHJ*B=-+"SJ+"PL38%WL````2#2'^&$TL+.HL+"Q(*BKJ*BHG
  469. XM2=`:?````!L6$?X/1-$HL1JE1(2$1:H1N"'4"@`N6`U]````&Q82_A"&WH;>
  470. XMAM@??@```!(-(?X8\LXBSB+.(LXBSB+/+.(LXBSB+.(L+!#`-7\````;%A?^
  471. XM%D1D:"@S1D,B9&(3<G6"A.+573,2TR(]$S+1)#PU.C<X.38[-#T#(])M3TUB
  472. XMH,`5H0```!(,'?T68:*4=E$B(2(R,NV5)9`7H@```",>#/X-K1M/&T&T$]*P
  473. XM&R&R\;(6P!6C````$@P=_19>V24C(R(2(A5G22L5H!>D````(QT,_0U1P/'`
  474. XM'`&_WR'"'"\<(;S8(*8````2#Q#_#RU+:2)')#8E1"="\I9T(E1"0V(D=I2R
  475. XMT-`@J````!(/$/\/TK26=")C0D12)';Y(D<D128T)T(I:TT@J`FP````$1$#
  476. XM`!G8V!.U````&!,3_A+M(!%=,3LS1T:Z=M`3M@```!@3$_X29ZMD=#.S$]7M
  477. XM`1+`([<````8$1;]$HEK1,/0/0/1\M$]$M(!?2/2\M(](](])-*XD,`CN@``
  478. XM`!L4%OT2C&T432/3/3/4\M0]3C+5/5\M4]4]4]5-71C`R".[````&Q06_1+(
  479. XMT=5-4]4]4]7RU3X]4M0_U"U#TSTSTD31;(#`)KX````;%![]%8QM%$TCTSTS
  480. XMU/+4/4XRU3U?+5/5/5/535T8P&S]8,@FOP```!L4'OT5R-'535/5/5/5\M4^
  481. XM/5+4/]0M0],],])$T6P'/]80N`S(````&!,)_@O:YL4@T!+,````$@T._@Y%
  482. XM:3^Q!0\;.65`P#O-````(QX=_A:XU\TTA,3$D],W/5-3US0MDC/9,BVR$]M>
  483. XM;=7;,2VR(]DS+9)#US4]4W/3.4Q,2$T\UXO`#\X````0#!W^%EYR7;[54E#`
  484. XM%,\````0#!W^%EY27;Y5+9Y27;Y5)=`=U0````\.'?X6HZ$Q^"(O@<Y"OF*^
  485. XM0L\8\B*!,:.@X#38````$@T;_A@`8`,#^#&"#C!YA\@RP9X<\,>&/#'CCQAX
  486. XMP\8></,&F"?#/!CA@Q@_@8`,`,!.V0```",>'?X6QMC--670/#LM,I+5)RUR
  487. XM7RV2,K9R(I%B8A*18W2"<82!U$XW+4(2<=,B)R@6(R<8%20H%A8E*58G+5*2
  488. XMTRL\/05ET\V&P-@-V@```!81$OX1`F[=`F"H"^`````?"B'S%]SL!:@,X0``
  489. XM`!\*(?,9[`5=<,`7X@```!\+(?,7DG1D9&1E9&5D;U9&[75@T!CC````'PPC
  490. XM^AE^I?965E9%9CEI25A8]8ZER!;D````'PLA\QGM=71_5T=71U=(2$A)(*@,
  491. XM\````!\+(?D7W.P&4)`+\0```!\+(?D9;K'2R!7R````'PPA^A<J24E)24E(
  492. XM6$CB6.UUV!CS````'PLC\QGJ5_5U=(6%@V5%5&5?5>I6P!;T````'PPA^AE^
  493. XMUUXF5T=71T='1T=(*B@)]0```!\%(_,9W+@)]@```",B`0`(UK`C^P```",>
  494. XM%/X1ORSRS_+.RVS%+-3,30/1/0/1RXRI+1\M'RQ0F`K\````%A$2_A$/@+`C
  495. XM_0```",>%/X1Q?+1+1\IRWS-$M%-!,T\T\XURWRL\L_RS_*PH`_^````&Q88
  496. X+_A:NHJT>BBK1]?;1
  497. X`
  498. Xend
  499. END_OF_FILE
  500.   if test 4648 -ne `wc -c <'fonts.lj/S.8.pk.UU'`; then
  501.     echo shar: \"'fonts.lj/S.8.pk.UU'\" unpacked with wrong size!
  502.   fi
  503.   # end of 'fonts.lj/S.8.pk.UU'
  504. fi
  505. if test -f 'fonts.lj/S.9.pk.UU' -a "${1}" != "-c" ; then 
  506.   echo shar: Will not clobber existing file \"'fonts.lj/S.9.pk.UU'\"
  507. else
  508.   echo shar: Extracting \"'fonts.lj/S.9.pk.UU'\" \(5098 characters\)
  509.   sed "s/^X//" >'fonts.lj/S.9.pk.UU' <<'END_OF_FILE'
  510. Xtable
  511. X !"#$%&'()*+,-./0123456789:;<=>?
  512. X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
  513. Xbegin 644 fonts.lj/S.9.pk
  514. XM]UD``)``````````!":N``0FKL!!(0```!T=)?\;WQWB_=+=\MWRW?+=\MWR
  515. XMW?+=\L'0*ST"H1/"D2.RT3HM$Y+3."TS<M4V+5\U+7\S+9\Q+;]-WRU`T#DD
  516. XM````)B$0_@]5U8F4,E)4<H$RA$*A(:,RL1'#$M+]0!`O`032TA/!$;(SH2&B
  517. XM1((Q@G124C29A=50P!8E````'AH4_A*TV/;80(`"<(!-CVV$L-`L)@```!X9
  518. XM$/X/1<0X@U)44F&$,G&3(G\;6!PY'3CQQ8&B(W&2-'%R5'(SAD7$V"DJ````
  519. XM'A,2^Q$@$5TQ.S,Y-3<W-3DS.S$]]=,3LS.34W-S4Y,SLQ/5`1*H"2T````>
  520. XM%P+]"=/`*#P````>%Q;]$]<]5-1-1-1-1-1-1-1-1-3TV$V$V$V$V$V$V$V$
  521. XMV$V#R"@]````'A<6_1,]A-A-A-A-A-A-A-A-A-CTU$U$U$U$U$U$U$U$U$U3
  522. XMU\@80P```!@3&OX9U5.#4Y)3H5.BXD.Q[30\Q\`X1````"`;&OX9T!W//:79
  523. XM$3V/$SUO%3U/%STO&3T!L[*TH=`Y+02!TC<M)&'4-2U$0=8S+60MP0*0P#Y(
  524. XM````'AD:_AF7TS4\.3D[-ST#5-!$/2,TTD(]0Q34@QD3CB.S@QD3C]1!/4,D
  525. XMTD,](T3013T#<[.3D\-3TWG`)DL````;&!K_&;XBV.)-;B$CU.(4/2XA8]#B
  526. XM&#OB&CGQPW+#9+0X:F@93@```!H5&OX9E.)\'`\786]X;Q=AU>,7R4#(#U``
  527. XM```=&!K^&=OMI#HTLK#(/%(````<%QK^&=DCT4)-(C/3%#TB--(4/2%3T15-
  528. XM<]@]=-<]@MCQV!V!T18=(5'3%!TR,=04'3(QTD+8'9'0'%,````.#13_#W92
  529. XM43*BKRKROSI*66AX6DHZ\H-0P"%4````'AD:_ADTM$AX*5D25#13<S-R@Q.!
  530. XMXJ(2V.TCU-!@P#95````'!<:_AE=#2XSU)PR,C@T-#4U-3-%-4(V-C'C1C9!
  531. XM-C8R135#-34U-#0X,C(\G4XSTM!0P"U7````'AD:_AEM#4XSM'-T(V-C7F-3
  532. XM4W)34H\T-#DS,SLC,RT#$Q/3?7XSU-!@T#%8````'!<:_AF'U%23DV2T0],T
  533. XMU!Y4`13Q34/STU.S<K*#DT%"DD+U&141%"<D$N)W<<@X60```"`;&OX9`I'<
  534. XM)-8C/6%$U"4]0632)STAA-`I/0&DLK.QT/.1TO-QU/-1UO,QV#$=E=KSW!T`
  535. XMP#5:````%!(:_AF%LD*1@8&";S@M,M/B-U,U)1(T)T0H0RE".4'SHR.B,Y,R
  536. XMHD*30X)B<H)#II!`+5P````>%Q_]%V`EY%Q%Q%Q%Q%Q%Q%Q%Q%Q%TV!&!&!&
  537. XM!&!&!&!&!&!&!&`M5Y"H+%X````>%Q_]%RNDNDNDNDNDNDNDNDNDNDNCMTMD
  538. XMMDMDMDMDMDMDMDMDN"!TTZ@)7P```!,3`P#XWL`P80```!D4$/X/9=$C-A,U
  539. XM)1,V-!,H,Q(X,A,I,A+SDQ$SE$.34J-3DV)U<5(R(55C,,!`8@```!84(?\9
  540. XMT$T20K%BH7/X&#]QDV&3<9*!-Y$Q,I%'@9-QHG&3;B&C8:)BDV*2<H-Q$6-Q
  541. XM,4*11:\=7C'5'6#`*6,````4$A?^#T21-G$X820502)R02&1,=`3'1\1'2XB
  542. XMT^(=/B+2XRTQ@-`Q9````!$.&OX9A()!8F%2ORP[2EI:6"%%,S0U)"8C-Q,H
  543. XM$C@2\W(C<3)R,V%247(QE'#0%F4````0#!#^#V9#@I./.)/D.O*R464PT"=F
  544. XM````$0\A_AF>(0$&@D%R%6+"PM'2SRSB+.0M\\3&J(BFSST9$RI%T"-G````
  545. XM$Q`7_@\C5#$B(C(1-%3B,V/C,V,^,V,S8U)CWSSC/270,6@````2#QK_&9.Q
  546. XM,H%"<D-28D-B0F/S-CXB-S\=+S<R\G,C<C-C0F)24U)28D*"(J.0T!=I````
  547. XM#@D0_@]"<UXS7B-3;S1%1!(C%$/0*6H````6$1#^#T)S4U$3,T(B0S&C(;,1
  548. XMM<F#0W-37B-C,1-C(1."(2*3(,`O:P```!82&OX91-,]/STDTO/232\])-+B
  549. XM/2307"$[(DDD."4W-44W-#@S.4$[,2Q`P"=L````%Q(7_@]2<G-C7C-C7C-C
  550. XM7B-C,2-4,14Q(B$C%$,_/1XSTBTPT"1M````$Q$0_@\6<E-SXC-S0V-#<T-C
  551. XM4V)C4F-2<T*#,I,BEK30T"MN````$0\A_QF>(0$&<T%B)5.SOD/2%8)1819A
  552. XMTL\L\M\]2WF)BFP\*1,J1-`C;P```!,.$/X/98)!4U(S8R*"$W,2AOAH(3<Q
  553. XM*"(V,R4U%"A6P"9P````%A,0_@\],M0=0B03%Q83'0(QT/$RSR,K)"LD.?-#
  554. XM@U2"8F#0*7$````4$!?^#Y2C,G)28V)2<D-RXS-S(W,S<D-C0V)#$3-3)'\\
  555. XMXST@$,`B<@```!83$/X/;071310T1S8V-S8H->(X-?*#8G."8I)#Q;#`'',`
  556. XM```1$1#^#ST2TATB)!D6'2XBT>(M'B/0/2*PT"=T````%1$0_@\S@C$B9!$S
  557. XM9$-S\S@D.!3SD4.!0Y%#@6*!8V&"0J5PP#YU````%Q(A_AG0\=/C'3XQT6DR
  558. XM$C8D%"0E%",E%3$U%3$F%685919E%B$U%3$U%2,D%20D%"8R$CEM'C'3XAS`
  559. XM.78````8%!?_#S3!(2.A(32!@X&$8:-1LT'$(=$Q'233/5\]--(130$SP4.Q
  560. XM4[%4D7.!A#$AHR$AQ##`0W<````9%2'^&=+QUN,=;C&C85(Q(E%$$3-!5$-!
  561. XM8_,T%R0T%Q0U%Q0T&!0T%Q0U%Q4E%A8S%A<S%1DR$RQ]/C'6XAT`P#!X````
  562. XM&!40_P\QT20=!"'2,ATR$=0A&"<_DG$1@H$1@G$A@F(B8U(T%R0X&%8V=%-P
  563. XMB`EY````"P(E_!O1T!=Z````$PPE_1N3<X..PX.#9+.CKL.CH[/8%WL````3
  564. XM#"7]&TLZ.NPZ.CLW.#CL.#@V2-`@?````!X9$OX110$1.-$JP1-4I8.%I%,1
  565. XMRB'8,0$5"U`T.`U]````'AD2_A%NTF[2;M@A?@```!,.)?X;\MXBWB+>(MXB
  566. XMWB+>(MXBWB+>(MXBWB+2T<`\?P```!X:&OX9185I23-3(U,B=G(3A(7Z*DXM
  567. XME=<Q+7(CU3,M4D/3-3T3<\.3H[.#T#8](T/4,CUFV/3:+,`8H0```!,.(?X9
  568. XM<<*_21$A%B(B(B0D+MQB8)`7H@```"8A#/X.L/&W&W&W$]BS&U&U&U\6T!BC
  569. XM````$PXA_AEN`;)B0D(B(B)A$A&?2RT6D!>D````)B`,_0Y?&T&T&T&SUB&V
  570. XM&V&V\;#():8````3$!+_$2T4Q;(4DC1R5%)S0H0O*FDR)T,E12-'(CEJ3"T0
  571. XMP"6H````$Q`2_Q'1+$M902=#)44D-R)(;Z(CDC1R5%)T,I,BIL31(*@)L```
  572. XM`!,3`P`<WL@5M0```!H5%OX5[3+472,3T#-)1M"I8,`5M@```!H5%OX5::T&
  573. XM24,]`Q/27M/4(+`GMP```!H3&/T4BVP43"/#/$+$/$+$/$\L7<_%/%+%/%+%
  574. XM/%/%3%P8L,`FN@```!X7&/T4C2;41-4]8]<M<]<M<]?E+8/8+8/8+8/8/838
  575. XMU(T@R":[````'A<8_132C4V$V#V#V"V#V"V#Y=@M<]<M<]<M<]8]5$U&TH#`
  576. XM)[X````>%Q_]%XTFU$35/6/6/7\M<]?D+8/8\M@]@]@]A-C4C2!^_9#()[\`
  577. XM```>%Q_]%]*-3838/8/8/8\M@^38+7/]<M<]8]8]5$U&T@A?V1"X#,@````:
  578. XM%0K^#=[GQR#0%,P````3#A#^$%2(6C_!!6\<.EB$4+!%S0```"8A(?X9P7R\
  579. XM'&5UPDP4L\4Y/'-SR34\LT+-(SS3+RSR$\]>;17//Q+/(CS3,LTD/+-3R3<\
  580. XM<Y/%.TP4PE=<;!RWP=`:S@```!$-(?X98;Y#OB%S(2,=$R$C?QOM.^06P"//
  581. XM````$0TA_AEAOC.Q<4%!'=]AOC.QW!OC._%MT104%QOC.Q;0)=4````0#R'^
  582. XM&:.R(:(BDA.",9XBSD.^8[Y#SB*1,H,2DB*A(K.@T#/8````$PX>_ANO)W4D
  583. XM)?)3,E4O)2$A-#%N)")C,F\R-B,VXB)&$T/Q(24B5#/S4E)"5W\JP%O9````
  584. XM)B$A_AG0?:T-9'33/0/0/2.RUBDM@G\MHE+<(RQX(BHF)R(I)C<A*3<922U4
  585. XMY(/5(2<]0B*"U"(H.!<C*"@6)2@F%B8J9R<M@I+6*STCT#T#TT=-;0VGT+@-
  586. XMV@```!<2$_X2VNPL+:"8"^`````B"R7R&M+K5J@,X0```"(+)?(<[$5MP,`9
  587. XMX@```"(-)?(:LI2$A(2$A(6$A82/6$CME8#0&N,````B#2?Z'(ZU]U=75U=5
  588. XM9SIJ65E96?6>M<@8Y````"(-)?(<[964GUE)64E92DI*2DI+(*@,\````"(+
  589. XM)?@:W.Q&4)`+\0```"(+)?@<;K72R!CR````(@TE^AHK2DI*2DI)64E92?64
  590. XMGME0V!KS````(@TG\ASK6?65E965IJ-V575U=7]7ZUC`&?0````B#27Z'([9
  591. XM6$CUA(6$A82$A(2$A)*P"`GU````(@4G\AS2N`GV````)B4!``G9L"C[````
  592. XM)B$6_A/!'3+2\M(M(M+-;/4\],]---,]0M3.C-DM0M3RU"U!QW@*_````!<2
  593. XM$_X2#^"P*/T````F(1;^$\<=0M3RU"U"G-C/TSU$TTSTT#T2;.?-TBTBTO+2
  594. X8+3'!T!#^````'AD:_AC.LK`TZ<*P-/7V
  595. X`
  596. Xend
  597. END_OF_FILE
  598.   if test 5098 -ne `wc -c <'fonts.lj/S.9.pk.UU'`; then
  599.     echo shar: \"'fonts.lj/S.9.pk.UU'\" unpacked with wrong size!
  600.   fi
  601.   # end of 'fonts.lj/S.9.pk.UU'
  602. fi
  603. if test -f 'man/dumpft.1.S' -a "${1}" != "-c" ; then 
  604.   echo shar: Will not clobber existing file \"'man/dumpft.1.S'\"
  605. else
  606.   echo shar: Extracting \"'man/dumpft.1.S'\" \(3182 characters\)
  607.   sed "s/^X//" >'man/dumpft.1.S' <<'END_OF_FILE'
  608. X.\"Copyright 1988 by Chris Lewis 2.3 91/03/20
  609. X.TH DUMPFT %%MANEXT%% "Psroff %%T2VERSION%%"
  610. X.SH NAME
  611. Xdumpft \- Look at troff font width files
  612. X.SH SYNOPSIS
  613. X.B dumpft
  614. X.B "[\-s]"
  615. X.B "[\-t]"
  616. X.B "[\-w]"
  617. X.B "[\-f]"
  618. X.B "[\-d]"
  619. X.BI "[\-h" skip "]"
  620. X.BI "[" options "]"
  621. X< width
  622. X.SH DESCRIPTION
  623. XThe
  624. X.B dumpft
  625. Xprogram allows you to look at CAT troff width files.
  626. XIt produces on standard output a ditroff-like width table.
  627. XThe unitwidth is 6 and the resolution is 432, so the numbers
  628. Xyou see are precisely the same as are in the CAT file.
  629. X.PP
  630. XThe produced width table can be modified and used with
  631. X.B dit2catwid
  632. Xto generate new width tables, but you should specify
  633. Xthe
  634. X.B \-d
  635. Xoption.
  636. XThe
  637. X.B \-d
  638. Xoption tells dumpft to generate the widths with a unitwidth of 10
  639. Xand resolution 300 which matches the
  640. X.B dit2catwid
  641. Xdefaults.
  642. X.RB ( dit2catwid
  643. Xdoesn't support changing unitwidth (yet)).
  644. X.PP
  645. XThe
  646. X.B \-s
  647. Xoption tells
  648. X.B dumpft
  649. Xthat the width table it's reading is for the
  650. Xsymbol font
  651. X(usually
  652. X.BR ftS ")."
  653. X.PP
  654. XThe
  655. X.B \-t
  656. Xoption tells
  657. X.B dumpft
  658. Xto dump the names of each of the characters in the font table
  659. Xa form suitable for wrapping .TS/.TE around to generate a full
  660. Xset of CAT troff character tables.
  661. X.PP
  662. XThe
  663. X.B \-w
  664. Xoption tells
  665. X.B dumpft
  666. Xto dump all of the characters in the font table
  667. Xas a set of strings for inclusion in troff
  668. Xdocuments.
  669. X.PP
  670. XSimilarly, the
  671. X.B \-f
  672. Xoption tells psroff to generate a formatted example of all CAT troff
  673. Xcharacters in the R, I, B and S fonts.
  674. X.PP
  675. XFor various reasons, you might want to look at CAT troff width tables
  676. Xfrom systems that have different width file formats.
  677. XCAT troff width files vary from system to system by how much extraneous
  678. Xjunk is prepended to the actual 224 byte table.
  679. XOften, width tables are generated by compiling a C char array.
  680. XSome vendors remove the a.out header from the beginning of the resultant
  681. Xobject file, and others leave it there.
  682. XIn order to interpret the width tables the program must skip over
  683. Xthe junk (if any).
  684. X.PP
  685. XThe
  686. X.BI "\-h" skip
  687. Xtells
  688. X.B dumpft
  689. Xto skip \fIskip\fP bytes before reading the table.
  690. XThe default
  691. Xskip is set to what you built
  692. X.B psroff
  693. Xwith (HEADERSIZE define), you only need to specify
  694. X.B \-h
  695. Xif you're reading width files from another system.
  696. X.PP
  697. XFYI: Xenix usually has HEADERSIZE 0.
  698. XSun and Ultrix (and probably other BSD derived systems)
  699. Xshould have HEADERSIZE 32.
  700. X.PP
  701. XIf you have difficulties setting HEADERSIZE correctly, you might
  702. Xwant to use this option with varying settings
  703. Xon /usr/lib/font/ftR (as supplied by your vendor) until
  704. X.B dumpft
  705. Xstops screeching about missing widths.
  706. X.PP
  707. X.B Dumpft
  708. Xprovides error messages on stderr if width entries are
  709. Xmissing or extra ones are found.
  710. XIf you get lots of error messages, you're probably looking at a S
  711. Xfont file without
  712. Xthe
  713. X.B \-s
  714. Xoption or vice-versa, or HEADERSIZE is wrong.
  715. X.PP
  716. XFor the curious, the full set of width table entries are in the
  717. Xsource for
  718. X.B cattab.c
  719. Xin the psroff source directory.
  720. X.SH FILES
  721. X.if t .ta 2.5i
  722. X.if n .ta 3.5i
  723. X%%FONTDIR%%/<width>/ft*    psroff-built width tables.
  724. X.br
  725. X%%FONTDIR%%/ft*    CAT width tables from your vendor.
  726. X.SH "SEE ALSO"
  727. Xtroff2ps(%%MANEXT%%), troff(1), cat(5L) and
  728. Xcattab.c source.
  729. X.SH AUTHOR
  730. XWritten by Chris Lewis
  731. END_OF_FILE
  732.   if test 3182 -ne `wc -c <'man/dumpft.1.S'`; then
  733.     echo shar: \"'man/dumpft.1.S'\" unpacked with wrong size!
  734.   fi
  735.   # end of 'man/dumpft.1.S'
  736. fi
  737. if test -f 'tests/chartab.m' -a "${1}" != "-c" ; then 
  738.   echo shar: Will not clobber existing file \"'tests/chartab.m'\"
  739. else
  740.   echo shar: Extracting \"'tests/chartab.m'\" \(3285 characters\)
  741.   sed "s/^X//" >'tests/chartab.m' <<'END_OF_FILE'
  742. X.\"2.1 90/07/18
  743. X.lg 1
  744. X.DS
  745. X.TS
  746. Xallbox;
  747. Xcf3 p14 s s s s s
  748. Xc c c || c c c
  749. Xl l l || l l l.
  750. XMathematical and Other Characters
  751. X=
  752. Xcharacter    denotation    name    character    denotation    name
  753. X=
  754. X\(pl    \e(pl    math plus    \(ib    \e(ib    improper subset
  755. X\(mi    \e(mi    math minus    \(ip    \e(ip    improper superset
  756. X\(eq    \e(eq    math equal    \(if    \e(if    infinity
  757. X\(**    \e(**    math star    \(pd    \e(pd    partial derivative
  758. X\(sc    \e(sc    section    \(gr    \e(gr    gradient
  759. X\(aa    \e\(aa or \e(aa    acute accent    \(no    \e(no    not
  760. X\(ga    \e\(ga or \e(ga    grave accent    \(is    \e(is    integral sign
  761. X\(ul    \(ul or \e(ul    underrule    \(pt    \e(pt    proportional to
  762. X\(sl    \(sl or \e(sl    slash    \(es    \e(es    empty set
  763. X\(sr    \e(sr    square root    \(mo    \e(mo    member of
  764. X\(rn    \e(rn    root en    \(br    \e(br or |    box rule
  765. X\(>=    \e(>=    \(>=    \(dd    \e(dd    dbl dagger
  766. X\(<=    \e(<=    \(<=    \(rh    \e(rh    right hand
  767. X\(==    \e(==    equivalence    \(lh    \e(lh    left hand
  768. X\(~=    \e(~=    approx =    \(or    \e(or    or
  769. X\(ap    \e(ap    approximates    \(ci    \e(ci    circle
  770. X\(!=    \e(!=    not equal    \(lt    \e(lt    left top of big { and (
  771. X\(->    \e(->    right arrow    \(lb    \e(lb    left bot of big { and (
  772. X\(<-    \e(<-    left arrow    \(rt    \e(rt    right top of big } and )
  773. X\(ua    \e(ua    up arrow    \(rb    \e(rb    right bot of big } and )
  774. X\(da    \e(da    down arrow    \(lk    \e(lk    left ctr of big { and (
  775. X\(mu    \e(mu    multiply    \(rk    \e(rk    right ctr of big } and )
  776. X\(di    \e(di    divide    \(bv    \e(bv    bold vertical
  777. X\(+-    \e(+-    plus-minus    \(lf    \e(lf    left floor
  778. X\(cu    \e(cu    cup (union)    \(rf    \e(rf    right floor
  779. X\(ca    \e(ca    intersection    \(lc    \e(lc    left ceiling
  780. X\(sb    \e(sb    subset of    \(rc    \e(rc    right ceiling
  781. X\(sp    \e(sp    superset of
  782. X.TE
  783. X.DE
  784. X.P
  785. XAlignment test:
  786. X.DS
  787. X\(sr\(rn
  788. X.DE
  789. X.P
  790. XLigatures:
  791. Xfido, floor, snaffle, suffix, shuffle.
  792. X.DS
  793. X.EQ
  794. Xsum from i=0 to {i= inf} x sup i
  795. X.EN
  796. X.EQ
  797. Xsqrt a+b + 1 over sqrt {ax sup 2 +bx+c}
  798. X.EN
  799. X.EQ
  800. Xsqrt {a sup 2 over b sub 2}
  801. X.EN
  802. X.TS
  803. Xallbox;
  804. Xcf3 p14 s s s s s
  805. Xc c c || c c c
  806. Xl l l || l l l.
  807. XGreek Characters
  808. X=
  809. Xcharacter    denotation    name    character    denotation    name
  810. X=
  811. X\(*a    \e(*a    alpha    \(*A    \e(*A    Alpha
  812. X\(*b    \e(*b    beta    \(*B    \e(*B    Beta
  813. X\(*g    \e(*g    gamma    \(*G    \e(*G    Gamma
  814. X\(*d    \e(*d    delta    \(*D    \e(*D    Delta
  815. X\(*e    \e(*e    epsilon    \(*E    \e(*E    Epsilon
  816. X\(*z    \e(*z    zeta    \(*Z    \e(*Z    Zeta
  817. X\(*y    \e(*y    eta    \(*Y    \e(*Y    Eta
  818. X\(*h    \e(*h    theta    \(*H    \e(*H    Theta
  819. X\(*i    \e(*i    iota    \(*I    \e(*I    Iota
  820. X\(*k    \e(*k    kappa    \(*K    \e(*K    Kappa
  821. X\(*l    \e(*l    lambda    \(*L    \e(*L    Lambda
  822. X\(*m    \e(*m    mu    \(*M    \e(*M    Mu
  823. X\(*n    \e(*n    nu    \(*N    \e(*N    Nu
  824. X\(*c    \e(*c    xi    \(*C    \e(*C    Xi
  825. X\(*o    \e(*o    omicron    \(*O    \e(*O    Omicron
  826. X\(*p    \e(*p    pi    \(*P    \e(*P    Pi
  827. X\(*r    \e(*r    rho    \(*R    \e(*R    Rho
  828. X\(*s    \e(*s    sigma    \(*S    \e(*S    Sigma
  829. X\(ts    \e(ts    terminal sigma
  830. X\(*t    \e(*t    tau    \(*T    \e(*T    Tau
  831. X\(*u    \e(*u    upsilon    \(*U    \e(*U    Upsilon
  832. X\(*f    \e(*f    phi    \(*F    \e(*F    Phi
  833. X\(*x    \e(*x    chi    \(*X    \e(*X    Chi
  834. X\(*q    \e(*q    psi    \(*Q    \e(*Q    Psi
  835. X\(*w    \e(*w    omega    \(*W    \e(*W    Omega
  836. X.TE
  837. X.DE
  838. X.DS
  839. X.TS
  840. Xallbox;
  841. Xcf3 p14 s s s s s
  842. Xc c c || c c c
  843. Xl l l || l l l.
  844. XNon-ASCII Characters and minus on the Standard Fonts
  845. X=
  846. Xcharacter    denotation    name    character    denotation    name
  847. X=
  848. X\&`    \`    open quote    \(34    \e(34    3/4
  849. X\&'    \'    close quote    \(fi    \e(fi    fi
  850. X\&``    \`\`    open double quotes    \(fl    \e(fl    fl
  851. X\&''    \'\'    close double quotes    \(ff    \e(ff    ff
  852. X\(em    \e(em    3/4 em    \(Fi    \e(Fi    ffi
  853. X\(hy    \e(hy    - hyphen    \(Fl    \e(Fl    ffl
  854. X\-    \e-    minus    \(de    \e(de    degree
  855. X\(bu    \e(bu    bullet    \(dg    \e(dg    dagger
  856. X\(sq    \e(sq    square    \(fm    \e(fm    foot mark
  857. X\(ru    \e(ru    rule    \(ct    \e(ct    cent sign
  858. X\(14    \e(14    1/4    \(rg    \e(rg    registered
  859. X\(12    \e(12    1/2    \(co    \e(co    copyright
  860. X.TE
  861. X.DE
  862. X.S
  863. END_OF_FILE
  864.   if test 3285 -ne `wc -c <'tests/chartab.m'`; then
  865.     echo shar: \"'tests/chartab.m'\" unpacked with wrong size!
  866.   fi
  867.   chmod +x 'tests/chartab.m'
  868.   # end of 'tests/chartab.m'
  869. fi
  870. if test -f 'tests/testtab.m' -a "${1}" != "-c" ; then 
  871.   echo shar: Will not clobber existing file \"'tests/testtab.m'\"
  872. else
  873.   echo shar: Extracting \"'tests/testtab.m'\" \(3044 characters\)
  874.   sed "s/^X//" >'tests/testtab.m' <<'END_OF_FILE'
  875. X.\" 2.3 91/03/25
  876. X.po .25i
  877. X.in 0
  878. X.fp 1 R
  879. X.fp 2 I
  880. X.fp 3 B
  881. X.fp 4 S
  882. X.ps 12
  883. X.vs 14
  884. X.sp |.3i
  885. X.ce 4
  886. XPSROFF TEST SHEET (2.3)
  887. X.br
  888. XPlease fill out and mail to: BOX 13215
  889. X.br
  890. XKanata PO, Kanata, Ontario, Canada K2K 1X4
  891. X.br
  892. X\*(2d \*(2v \*(pt
  893. X.ps 10
  894. X.vs 12
  895. X.TS
  896. Xl lw(1.2i) l lw(1.2i) l lw(1.2i).
  897. X
  898. XUNIX    _    Hardware:    _    Printer    _
  899. Xversion                make/model
  900. X
  901. XName:    _    E-mail     _    driver/printer    _
  902. X        address        (ps/dt/lj)
  903. X.TE
  904. X.TS
  905. Xbox;
  906. Xc s s s s s s s s s s s s s s s
  907. Xl l | l l | l l | l l | l l | l l | l l | l l.
  908. XNormal Font Listing
  909. X_
  910. X!    !    $    $    %    %    &    &    '    '    (    (    )    )    *    *
  911. X_
  912. X+    +    ,    ,    \-    \e-    \.    .    /    /    0    0    1    1    2    2
  913. X_
  914. X3    3    4    4    5    5    6    6    7    7    8    8    9    9    :    :
  915. X_
  916. X;    ;    \&=    \&=    ?    ?    A    A    B    B    C    C    D    D    E    E
  917. X_
  918. XF    F    G    G    H    H    I    I    J    J    K    K    L    L    M    M
  919. X_
  920. XN    N    O    O    P    P    Q    Q    R    R    S    S    T    T    U    U
  921. X_
  922. XV    V    W    W    X    X    Y    Y    Z    Z    [    [    ]    ]    `    `
  923. X_
  924. Xa    a    b    b    c    c    d    d    e    e    f    f    g    g    h    h
  925. X_
  926. Xi    i    j    j    k    k    l    l    m    m    n    n    o    o    p    p
  927. X_
  928. Xq    q    r    r    s    s    t    t    u    u    v    v    w    w    x    x
  929. X_
  930. Xy    y    z    z    |    |    \(hy    \e(hy    \(bu    \e(bu    \(sq    \e(sq    \(em    \e(em    \(ru    \e(ru
  931. X_
  932. X\(14    \e(14    \(12    \e(12    \(34    \e(34    \(fi    \e(fi    \(fl    \e(fl    \(ff    \e(ff    \(Fi    \e(Fi    \(Fl    \e(Fl
  933. X_
  934. X\(de    \e(de    \(dg    \e(dg    \(fm    \e(fm    \(rg    \e(rg    \(co    \e(co    \(ct    \e(ct
  935. X.T&
  936. Xc s s s s s s s s s s s s s s s
  937. Xl l | l l | l l | l l | l l | l l | l l | l l.
  938. X=
  939. XSymbol Font Listing
  940. X_
  941. X"    "    #    #    <    <    >    >    @    @    \e    \ee    ^    ^    \(br    \e(br
  942. X_
  943. X{    {    }    }    ~    ~    \(sc    \e(sc    \(aa    \e(aa    \(ga    \e(ga    \(ul    \e(ul    \(sl    \e(sl
  944. X_
  945. X\(*a    \e(*a    \(*b    \e(*b    \(*g    \e(*g    \(*d    \e(*d    \(*e    \e(*e    \(*z    \e(*z    \(*y    \e(*y    \(*h    \e(*h
  946. X_
  947. X\(*i    \e(*i    \(*k    \e(*k    \(*l    \e(*l    \(*m    \e(*m    \(*n    \e(*n    \(*c    \e(*c    \(*o    \e(*o    \(*p    \e(*p
  948. X_
  949. X\(*r    \e(*r    \(*s    \e(*s    \(*t    \e(*t    \(*u    \e(*u    \(*f    \e(*f    \(*x    \e(*x    \(*q    \e(*q    \(*w    \e(*w
  950. X_
  951. X\(*G    \e(*G    \(*D    \e(*D    \(*H    \e(*H    \(*L    \e(*L    \(*C    \e(*C    \(*P    \e(*P    \(*S    \e(*S    \(*U    \e(*U
  952. X_
  953. X\(*F    \e(*F    \(*Q    \e(*Q    \(*W    \e(*W    \(sr    \e(sr    \(ts    \e(ts    \(rn    \e(rn    \(>=    \e(>=    \(<=    \e(<=
  954. X_
  955. X\(==    \e(==    \(mi    \e(mi    \(~=    \e(~=    \(ap    \e(ap    \(!=    \e(!=    \(->    \e(->    \(<-    \e(<-    \(ua    \e(ua
  956. X_
  957. X\(da    \e(da    \(eq    \e(eq    \(mu    \e(mu    \(di    \e(di    \(+-    \e(+-    \(cu    \e(cu    \(ca    \e(ca    \(sb    \e(sb
  958. X_
  959. X\(sp    \e(sp    \(ib    \e(ib    \(ip    \e(ip    \(if    \e(if    \(pd    \e(pd    \(gr    \e(gr    \(no    \e(no    \(is    \e(is
  960. X_
  961. X\(pt    \e(pt    \(es    \e(es    \(mo    \e(mo    \(pl    \e(pl    \(dd    \e(dd    \(rh    \e(rh    \(lh    \e(lh    \(**    \e(**
  962. X_
  963. X\(bs    \e(bs    \(or    \e(or    \(ci    \e(ci    \(lt    \e(lt    \(lb    \e(lb    \(rt    \e(rt    \(rb    \e(rb    \(lk    \e(lk
  964. X_
  965. X\(rk    \e(rk    \(bv    \e(bv    \(lf    \e(lf    \(rf    \e(rf    \(lc    \e(lc    \(rc    \e(rc
  966. X.TE
  967. X.br
  968. X!$%&'()*+,\(\-\./0123456789:;=?ABCDEFGHIJKLMNOPQRSTUVWXYZ[
  969. X.br
  970. X]`abcdefghijklmnopqrstuvwxyz|\(hy\(bu\(sq\(em\(ru\(14\(12\(34\(fi\(fl\(ff\(Fi\(Fl\(de\(dg\(fm\(rg\(co\(ct
  971. X.br
  972. X"#<>@\e^\(br{}~\(sc\(aa\(ga\(ul\(sl\(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w\(*G\(*D\(*H\(*L\(*C\(*P\(*S\(*U\(*F\(*Q\(*W\(sr\(ts\(rn
  973. X.br
  974. X\(>=\(<=\(==\(mi\(~=\(ap\(!=\(->\(<-\(ua\(da\(eq\(mu\(di\(+-\(cu\(ca\(sb\(sp\(ib\(ip\(if\(pd\(gr\(no\(is\(pt\(es\(mo\(pl\(dd\(rh\(lh\(**\(bs\(or\(ci\(lt\(lb\(rt\(rb\(lk\(rk\(bv\(lf\(rf\(lc\(rc
  975. X.br
  976. X\f1Roman 10p\fP
  977. X\f2Italic 10p\fP
  978. X\f3Bold 10p\fP
  979. X\f1Roman 10p\fP
  980. X\f2Italic 10p\fP
  981. X\f3Bold 10p\fP
  982. X.br
  983. X.ps 16
  984. X.vs 18
  985. X\f1Roman 16p\fP
  986. X\f2Italic 16p\fP
  987. X\f3Bold 16p\fP
  988. X\f1Roman 16p\fP
  989. X\f2Italic 16p\fP
  990. X\f3Bold 16p\fP
  991. END_OF_FILE
  992.   if test 3044 -ne `wc -c <'tests/testtab.m'`; then
  993.     echo shar: \"'tests/testtab.m'\" unpacked with wrong size!
  994.   fi
  995.   chmod +x 'tests/testtab.m'
  996.   # end of 'tests/testtab.m'
  997. fi
  998. if test -f 'utils/catconv.S' -a "${1}" != "-c" ; then 
  999.   echo shar: Will not clobber existing file \"'utils/catconv.S'\"
  1000. else
  1001.   echo shar: Extracting \"'utils/catconv.S'\" \(5458 characters\)
  1002.   sed "s/^X//" >'utils/catconv.S' <<'END_OF_FILE'
  1003. X#! /usr/bin/perl
  1004. Xeval "exec  /usr/bin/perl -S $0 $*"
  1005. X    if $running_under_some_shell;
  1006. X
  1007. X#    NOTE: some perl's don't get installed in /usr/bin/perl - you
  1008. X#    may have to fix the above lines to suit your installation.
  1009. X
  1010. X#    Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 Chris Lewis
  1011. X#        All Rights Reserved
  1012. X#
  1013. X#    See the LICENSE file for a full description of the restrictions
  1014. X#    under which this software is provided.
  1015. X#
  1016. X#    This does a very simpleminded conversion of ditroff-only-isms
  1017. X#    (such as graphics) into something handleable by CAT troff.
  1018. X#    1.6 91/03/25
  1019. X$cc{'em'}=1; $cc{'ru'}=1; $cc{'14'}=1; $cc{'12'}=1; $cc{'hy'}=1;
  1020. X$cc{'34'}=1; $cc{'fi'}=1; $cc{'fl'}=1; $cc{'ff'}=1; $cc{'ct'}=1;
  1021. X$cc{'Fl'}=1; $cc{'Fi'}=1; $cc{'de'}=1; $cc{'dg'}=1; $cc{'rg'}=1;
  1022. X$cc{'bu'}=1; $cc{'fm'}=1; $cc{'co'}=1; $cc{'sq'}=1; $cc{'*q'}=1;
  1023. X$cc{'*h'}=1; $cc{'*n'}=1; $cc{'*m'}=1; $cc{'*l'}=1; $cc{'*i'}=1;
  1024. X$cc{'*z'}=1; $cc{'*s'}=1; $cc{'*d'}=1; $cc{'*b'}=1; $cc{'*c'}=1;
  1025. X$cc{'*y'}=1; $cc{'*f'}=1; $cc{'*u'}=1; $cc{'*k'}=1; $cc{'*p'}=1;
  1026. X$cc{'da'}=1; $cc{'*a'}=1; $cc{'or'}=1; $cc{'*x'}=1; $cc{'*e'}=1;
  1027. X$cc{'eq'}=1; $cc{'*o'}=1; $cc{'<-'}=1; $cc{'*r'}=1; $cc{'ua'}=1;
  1028. X$cc{'*t'}=1; $cc{'ul'}=1; $cc{'*Q'}=1; $cc{'bs'}=1; $cc{'if'}=1;
  1029. X$cc{'*g'}=1; $cc{'ip'}=1; $cc{'pt'}=1; $cc{'rh'}=1; $cc{'*w'}=1;
  1030. X$cc{'gr'}=1; $cc{'*F'}=1; $cc{'*H'}=1; $cc{'*W'}=1; $cc{'cu'}=1;
  1031. X$cc{'rn'}=1; $cc{'ts'}=1; $cc{'*L'}=1; $cc{'mi'}=1; $cc{'*G'}=1;
  1032. X$cc{'is'}=1; $cc{'*P'}=1; $cc{'sb'}=1; $cc{'sp'}=1; $cc{'ap'}=1;
  1033. X$cc{'pd'}=1; $cc{'*D'}=1; $cc{'sr'}=1; $cc{'*S'}=1; $cc{'~='}=1;
  1034. X$cc{'*C'}=1; $cc{'sl'}=1; $cc{'ca'}=1; $cc{'*U'}=1; $cc{'no'}=1;
  1035. X$cc{'rc'}=1; $cc{'lt'}=1; $cc{'bv'}=1; $cc{'lk'}=1; $cc{'lb'}=1;
  1036. X$cc{'rt'}=1; $cc{'rk'}=1; $cc{'rb'}=1; $cc{'rf'}=1; $cc{'lf'}=1;
  1037. X$cc{'lc'}=1; $cc{'mu'}=1; $cc{'di'}=1; $cc{'+-'}=1; $cc{'<='}=1;
  1038. X$cc{'>='}=1; $cc{'=='}=1; $cc{'!='}=1; $cc{'aa'}=1; $cc{'ga'}=1;
  1039. X$cc{'lh'}=1; $cc{'mo'}=1; $cc{'es'}=1; $cc{'dd'}=1; $cc{'br'}=1;
  1040. X$cc{'**'}=1; $cc{'ib'}=1; $cc{'ci'}=1; $cc{'pl'}=1; $cc{'->'}=1;
  1041. X$cc{'sc'}=1;
  1042. X
  1043. X@regnames = split(//,
  1044. X    "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
  1045. X$regpref = "@";
  1046. X$inpic = 0;
  1047. Xprint(".de lf\n");
  1048. Xprint(".mk\n");
  1049. Xprint("..\n");
  1050. X
  1051. Xwhile($line = <STDIN>) {
  1052. X    chop($line);
  1053. X    $index = 0;
  1054. X    if ($line =~ /^\.PS/) {
  1055. X    $inpic = 1;
  1056. X    print "$line\n";
  1057. X    next;
  1058. X    }
  1059. X    if ($line =~ /^\.PE/) {
  1060. X    $inpic = 0;
  1061. X    print "$line\n";
  1062. X    next;
  1063. X    }
  1064. X    if ($inpic && ($line eq '.sp -1')) {
  1065. X    printf(".rt\n");
  1066. X    next;
  1067. X    }
  1068. X    if ($line =~ /\\D'/) {
  1069. X    $line = do process($line);
  1070. X    }
  1071. X    if ($line =~ /\\X'/) {
  1072. X    $line = do Xprocess($line);
  1073. X    }
  1074. X    $line = do findspecials($line);
  1075. X    print "$line\n";
  1076. X    while($index) {
  1077. X    print ".rr" . $regpref . $regnames[--$index] . "\n";
  1078. X    }
  1079. X}
  1080. X
  1081. Xsub findspecials {
  1082. X    local($line, $newline, $pre, $opcode, $arglist) = ($_[0]);
  1083. X#    printf("in process: $line\n");
  1084. X    $predefs = '';
  1085. X    while($line =~ /\\\((..)/) {
  1086. X    ($pre, $line, $char) = ($`, $', $1);
  1087. X#    print("pre: $pre\nline: $line\nopcode: $opcode\narglist: $arglist\n");
  1088. X    $newline .= $pre;
  1089. X    if ($cc{$char}) {
  1090. X        $newline .= "\\($char";
  1091. X    } else {
  1092. X        $newline .= "\\ka\\o'\\(bs\\(bs'C$char\\(bs\\h'|\\nau+1n'";
  1093. X    }
  1094. X    }
  1095. X    $newline .= $line;
  1096. X    return("$predefs$newline");
  1097. X}
  1098. X
  1099. Xsub process {
  1100. X    local($line, $newline, $pre, $opcode, $arglist) = ($_[0]);
  1101. X#    printf("in process: $line\n");
  1102. X    $predefs = '';
  1103. X    while($line =~ /\\D'\s*(.)\s*([^']+)'/) {
  1104. X    ($pre, $line, $opcode, $arglist) = ($`, $', $1, $2);
  1105. X#    print("pre: $pre\nline: $line\nopcode: $opcode\narglist: $arglist\n");
  1106. X    $newline .= $pre;
  1107. X    $newargs = '';
  1108. X    $newy = '';
  1109. X    $newx = '';
  1110. X    @args = split(/[ \t]+/, $arglist);
  1111. X    for ($i = 0; $i <= $#args; $i++) {
  1112. X        $arg = $args[$i];
  1113. X        if ($arg =~ '-') {
  1114. X        $arg = "0$arg";
  1115. X        }
  1116. X        $num = $regpref . $regnames[$index];
  1117. X        $predefs .= ".nr $num $arg\n";
  1118. X        $newargs .= "\\(ts\\n($num";
  1119. X        if ($opcode eq '~') {
  1120. X        if ($i % 2) {
  1121. X            $newy .= "+\\n($num";
  1122. X        } else {
  1123. X            $newx .= "+\\n($num";
  1124. X        }
  1125. X        }
  1126. X        $index++;
  1127. X    }
  1128. X    $newline .= "\\ka\\o'\\(bs\\(bs'D$opcode$newargs\\(bs\\h'|\\nau";
  1129. X    # Reposition...
  1130. X    if ($opcode eq 'l') {
  1131. X        $newline .= sprintf("+\\n(%s%su'\\v'\\n(%s%su'",
  1132. X        $regpref, $regnames[$index - 2], $regpref, $regnames[$index - 1]);
  1133. X    } elsif ($opcode eq 'c' || $opcode eq 'C') {
  1134. X        $newline .= sprintf("+\\n(%s%su'", $regpref, $regnames[$index - 1]);
  1135. X    } elsif ($opcode eq 'e' || $opcode eq 'E') {
  1136. X        $newline .= sprintf("+\\n(%s%su'", $regpref, $regnames[$index - 2]);
  1137. X    } elsif ($opcode eq '~') {
  1138. X        # drop leading + sign
  1139. X        $newy = substr($newy, 1, 9999);
  1140. X        $newline .= "$newx'\\v'$newy'";
  1141. X    } else {
  1142. X        $newline .= "'";
  1143. X    }
  1144. X    if ($line) {
  1145. X        $newline .= "\\\n";
  1146. X    }
  1147. X    }
  1148. X    $newline .= $line;
  1149. X    return("$predefs$newline");
  1150. X}
  1151. X
  1152. Xsub Xprocess {
  1153. X    local($line, $newline, $pre, $opcode, $arglist) = ($_[0]);
  1154. X#    printf("in process: $line\n");
  1155. X    $predefs = '';
  1156. X    while($line =~ /\\X'\s*(.)\s*([^']+)'/) {
  1157. X    ($pre, $line, $opcode, $arglist) = ($`, $', $1, $2);
  1158. X#    print("pre: $pre\nline: $line\nopcode: $opcode\narglist: $arglist\n");
  1159. X    $newline .= $pre;
  1160. X    $newargs = '';
  1161. X    $newy = '';
  1162. X    $newx = '';
  1163. X
  1164. X    if ($arglist =~ /[-0-9]+/) {
  1165. X        if ($arglist =~ '-') {
  1166. X        $arglist = "0$arglist";
  1167. X        }
  1168. X        $num = $regpref . $regnames[$index];
  1169. X        $predefs = ".nr $num $arglist\n";
  1170. X        $newargs = "\\(ts\\n($num";
  1171. X        $index++;
  1172. X    } else {
  1173. X        $newargs = "$arglist";
  1174. X    }
  1175. X    $newline .= "\\ka\\o'\\(bs\\(bs'$opcode$newargs\\(bs\\h'|\\nau'";
  1176. X    }
  1177. X    $newline .= $line;
  1178. X    return("$predefs$newline");
  1179. X}
  1180. END_OF_FILE
  1181.   if test 5458 -ne `wc -c <'utils/catconv.S'`; then
  1182.     echo shar: \"'utils/catconv.S'\" unpacked with wrong size!
  1183.   fi
  1184.   # end of 'utils/catconv.S'
  1185. fi
  1186. if test -f 'utils/showfont.S' -a "${1}" != "-c" ; then 
  1187.   echo shar: Will not clobber existing file \"'utils/showfont.S'\"
  1188. else
  1189.   echo shar: Extracting \"'utils/showfont.S'\" \(4693 characters\)
  1190.   sed "s/^X//" >'utils/showfont.S' <<'END_OF_FILE'
  1191. X%%STARTSHELL%%
  1192. X#    Copyright 1989, 1990, 1991 Chris Lewis
  1193. X#        All Rights Reserved
  1194. X#
  1195. X#    See the LICENSE file for a full description of the restrictions
  1196. X#    under which this software is provided.
  1197. X#
  1198. X#@(#)showfont 2.2 91/02/20
  1199. X# Shell script to dump postscript fonts with widths into a pretty table
  1200. X# usage: showfont <fontname>
  1201. X# emits postscript to display the font called <fontname> along with
  1202. X# interesting font metrics.  If a file exists called <fontname>,
  1203. X# the file is merged with the postscript, and a second argument is
  1204. X# used for the font name.
  1205. X#
  1206. X#    Cell format:
  1207. X# octal    decimal    hex
  1208. X# height   CHARACTER
  1209. X# widthps
  1210. X# lbear    catwidth   rbear
  1211. X#
  1212. X# widthps is suitable for the widths/widthps/entries (unitwidth 10, res 720)
  1213. X# cat width is same scale as CAT: (unitwidth 6, res 432)
  1214. X# the Character is displayed at 18 point.
  1215. X
  1216. Xcopies=1
  1217. Xif [ $# = 0 ]
  1218. Xthen
  1219. X    echo "usage: showfont <fontname>" >&2
  1220. X    exit 1
  1221. Xfi
  1222. X(
  1223. Xcat << !END!
  1224. X%! PS-Adobe 1.0
  1225. X%%Title: showfont -- displays the font metrics in a pretty one page table
  1226. X%%Creator: Ken Marchant & Chris Lewis
  1227. X%%CreationDate: March 1989
  1228. X%%Pages: atend
  1229. X%%
  1230. X/SAVEOBJ save def
  1231. X!END!
  1232. X
  1233. Xif [ -r "$1" ]
  1234. Xthen
  1235. X    cat $1
  1236. X    shift
  1237. Xfi
  1238. Xfont=$1
  1239. Xcase $font in
  1240. X    /*)
  1241. X    font=`echo $font | sed -e 's/^.//'`
  1242. X    ;;
  1243. Xesac
  1244. Xcat << !ENDTHING!
  1245. X
  1246. X(START showfont display $font `date`\n) print
  1247. Xflush
  1248. X/FONTname ($font) def
  1249. X
  1250. X%%  Setup functions used and etc...
  1251. X
  1252. X/rowmove {
  1253. X    /I exch def
  1254. X    I 16 mod 30 mul 72 add
  1255. X    680 I 16 idiv 30 mul sub
  1256. X    moveto
  1257. X} def
  1258. X
  1259. X/widths 259 array def
  1260. X/widthps 259 array def
  1261. X/heights 259 array def
  1262. X/lbear 259 array def
  1263. X/rbear 259 array def
  1264. X/tmp 1 string def
  1265. X.5 setlinewidth
  1266. X
  1267. X/Helvetica findfont 9 scalefont setfont
  1268. X
  1269. X%% Draw the grid around the cells
  1270. X%% and add the hex labels to the outside of the box
  1271. X
  1272. X0 1 16
  1273. X{
  1274. X    /i exch def
  1275. X    /j i 30 mul def
  1276. X    %% vertical lines
  1277. X    j 62 add dup 220 moveto
  1278. X    700 lineto
  1279. X    stroke
  1280. X
  1281. X    %% horizontal lines
  1282. X    j 220 add dup 62 exch moveto
  1283. X    542 exch lineto
  1284. X    stroke
  1285. X
  1286. X    i 16 ge { clear exit } if
  1287. X
  1288. X    %% hex across the top
  1289. X    j 77 add dup 705 moveto
  1290. X    i 16 (   ) cvrs show
  1291. X
  1292. X    %% hex along the sides
  1293. X    50 670 j sub 12 add moveto
  1294. X    i 16 (   ) cvrs show
  1295. X}
  1296. Xfor
  1297. X
  1298. X%    scale width in points at 18pts to width in 1/720'nds at 10 point.
  1299. X/myscaleps {
  1300. X    720 mul 72 div 10 mul 18 div round cvi
  1301. X} def
  1302. X
  1303. X
  1304. X%    scale width in points at 18 pts, to width in 1/432'nds at 6 point.
  1305. X/myscale {
  1306. X    2 mul
  1307. X    % 10 mul round cvi 10 div
  1308. X    round cvi
  1309. X} def
  1310. X
  1311. X/irmove {
  1312. X    CY add exch
  1313. X    CX add exch moveto
  1314. X} def
  1315. X
  1316. X%% Print out the headings in the font to be displayed and Times-Roman
  1317. X
  1318. X/Times-Roman findfont 18 scalefont setfont
  1319. X295 FONTname stringwidth pop .5 mul sub 750 moveto FONTname show
  1320. X
  1321. XFONTname findfont 18 scalefont setfont
  1322. X295 FONTname stringwidth pop .5 mul sub 730 moveto FONTname show
  1323. X
  1324. X%% loop thru all the charcters and display in 18 point
  1325. X%% insert the character widths into the widths array
  1326. X0 1 258
  1327. X{
  1328. X    newpath
  1329. X    /i exch def
  1330. X    i rowmove
  1331. X    i 255 gt {
  1332. X    i 256 eq { /tmp (ff) def } if
  1333. X    i 257 eq { /tmp (ffi) def } if
  1334. X    i 258 eq { /tmp (ffl) def } if
  1335. X    } {
  1336. X    /tmp 1 string def
  1337. X         tmp 0 i put
  1338. X    } ifelse
  1339. X    tmp show
  1340. X
  1341. X    widths i tmp stringwidth pop dup /width exch def
  1342. X    myscale put
  1343. X
  1344. X    widthps i tmp stringwidth pop myscaleps put
  1345. X
  1346. X    %    Set current point again.
  1347. X    i rowmove
  1348. X    /curx currentpoint pop def
  1349. X
  1350. X    % retrieve bounding box info.
  1351. X    tmp false charpath flattenpath pathbbox
  1352. X    /ury exch def
  1353. X    /urx exch def
  1354. X    /lly exch def
  1355. X    /llx exch def
  1356. X
  1357. X    % calc left bearing as leftx - curx
  1358. X
  1359. X    lbear i llx curx sub myscale put
  1360. X
  1361. X    % calc height as upper y - lower y
  1362. X
  1363. X    heights i ury lly sub myscale put
  1364. X
  1365. X    % calc right bearing as width - upper x
  1366. X
  1367. X    rbear i width urx curx sub sub myscale put
  1368. X
  1369. X}
  1370. Xfor
  1371. X
  1372. X%%display the widths in the widths array
  1373. X
  1374. X/Helvetica-Narrow findfont 5 scalefont setfont
  1375. X
  1376. X0 1 258
  1377. X{
  1378. X    /i exch def
  1379. X
  1380. X    i rowmove
  1381. X
  1382. X    currentpoint /CY exch def /CX exch def
  1383. X
  1384. X    2 -8 irmove
  1385. X    widths i get (       ) cvs show
  1386. X
  1387. X    -9 8 irmove
  1388. X    heights i get (       ) cvs show
  1389. X
  1390. X    -9 0 irmove
  1391. X    widthps i get (       ) cvs show
  1392. X
  1393. X    -9 -8 irmove
  1394. X    lbear i get (       ) cvs show
  1395. X
  1396. X    12 -8 irmove
  1397. X    rbear i get (       ) cvs show
  1398. X
  1399. X    -9 15 irmove
  1400. X    i 8 (   ) cvrs show
  1401. X
  1402. X    1 15 irmove
  1403. X    i 10 (   ) cvrs show
  1404. X
  1405. X    12 15 irmove
  1406. X    i 16 (   ) cvrs show
  1407. X}
  1408. Xfor
  1409. X
  1410. XFONTname findfont 18 scalefont setfont
  1411. X72 144 moveto (This is a test of this font.) show
  1412. X72 124 moveto (ABCDEFGHIJKLMNOPQRSTUVWXYZ) show
  1413. X72 104 moveto (abcdefghijklmnopqrstuvwxyz) show
  1414. X72 84 moveto (0123456789!@#\$\\%^&*\\(\\)_+=) show
  1415. X72 64 moveto ({}[]\\\\|;:'",.<>?/&~\`) show
  1416. X
  1417. Xshowpage
  1418. X(END showfont display $font `date`\n) print
  1419. Xflush
  1420. XSAVEOBJ restore
  1421. X%%Pages: 1
  1422. X!ENDTHING!
  1423. Xecho "\004\c"
  1424. X)
  1425. END_OF_FILE
  1426.   if test 4693 -ne `wc -c <'utils/showfont.S'`; then
  1427.     echo shar: \"'utils/showfont.S'\" unpacked with wrong size!
  1428.   fi
  1429.   # end of 'utils/showfont.S'
  1430. fi
  1431. if test -f 'widths/widthps/HX' -a "${1}" != "-c" ; then 
  1432.   echo shar: Will not clobber existing file \"'widths/widthps/HX'\"
  1433. else
  1434.   echo shar: Extracting \"'widths/widthps/HX'\" \(2918 characters\)
  1435.   sed "s/^X//" >'widths/widthps/HX' <<'END_OF_FILE'
  1436. X# Helvetica-BoldOblique
  1437. X#2.2 91/02/06
  1438. Xname HX
  1439. Xinternalname HelvBO
  1440. Xligatures fi fl ff ffi ffl 0
  1441. Xspacewidth 28
  1442. Xcharset
  1443. X!    33    2    041
  1444. X"    47    2    042
  1445. X#    56    2    043
  1446. X$    56    3    044
  1447. X%    89    2    045
  1448. X&    72    2    046
  1449. X'    28    2    047
  1450. X(    33    3    050
  1451. X)    33    3    051
  1452. X*    39    2    052
  1453. X+    58    0    053
  1454. X,    28    1    054
  1455. X-    33    0    055
  1456. Xhy    "
  1457. X.    28    0    056
  1458. X/    28    2    057
  1459. Xsl    "
  1460. X0    56    2    060
  1461. X1    56    2    061
  1462. X2    56    2    062
  1463. X3    56    2    063
  1464. X4    56    2    064
  1465. X5    56    2    065
  1466. X6    56    2    066
  1467. X7    56    2    067
  1468. X8    56    2    070
  1469. X9    56    2    071
  1470. X:    33    0    072
  1471. X;    33    1    073
  1472. X<    58    0    074
  1473. X=    58    0    075
  1474. X>    58    0    076
  1475. X?    61    2    077
  1476. X@    98    3    0100
  1477. XA    72    2    0101
  1478. XB    72    2    0102
  1479. XC    72    2    0103
  1480. XD    72    2    0104
  1481. XE    67    2    0105
  1482. XF    61    2    0106
  1483. XG    78    2    0107
  1484. XH    72    2    0110
  1485. XI    28    2    0111
  1486. XJ    56    2    0112
  1487. XK    72    2    0113
  1488. XL    61    2    0114
  1489. XM    83    2    0115
  1490. XN    72    2    0116
  1491. XO    78    2    0117
  1492. XP    67    2    0120
  1493. XQ    78    2    0121
  1494. XR    72    2    0122
  1495. XS    67    2    0123
  1496. XT    61    2    0124
  1497. XU    72    2    0125
  1498. XV    67    2    0126
  1499. XW    94    2    0127
  1500. XX    67    2    0130
  1501. XY    67    2    0131
  1502. XZ    61    2    0132
  1503. X[    33    3    0133
  1504. X\    28    2    0134
  1505. X]    33    3    0135
  1506. Xa^    58    2    0136    asciicircum
  1507. X_    56    1    0137
  1508. Xru    "
  1509. X`    28    2    0140
  1510. Xa    56    0    0141
  1511. Xb    61    2    0142
  1512. Xc    56    0    0143
  1513. Xd    61    2    0144
  1514. Xe    56    0    0145
  1515. Xf    33    2    0146
  1516. Xg    61    1    0147
  1517. Xh    61    2    0150
  1518. Xi    28    2    0151
  1519. Xj    28    3    0152
  1520. Xk    56    2    0153
  1521. Xl    28    2    0154
  1522. Xm    89    0    0155
  1523. Xn    61    0    0156
  1524. Xo    61    0    0157
  1525. Xp    61    1    0160
  1526. Xq    61    1    0161
  1527. Xr    39    0    0162
  1528. Xs    56    0    0163
  1529. Xt    33    2    0164
  1530. Xu    61    0    0165
  1531. Xv    56    0    0166
  1532. Xw    78    0    0167
  1533. Xx    56    0    0170
  1534. Xy    56    1    0171
  1535. Xz    50    0    0172
  1536. X{    39    3    0173
  1537. X|    28    3    0174
  1538. X}    39    3    0175
  1539. Xa~    58    0    0176    asciitilde
  1540. XI!    33    1    0241    exclamdown
  1541. Xct    56    3    0242    cent
  1542. Xpo    56    2    0243    sterling
  1543. X$J    56    2    0245    yen
  1544. Xsc    56    3    0247    section
  1545. Xfm    24    2    0251    quotesingle
  1546. Xn'    "
  1547. Xlq    50    2    0252    quotedblleft
  1548. Xd<    56    0    0253    guillemotleft
  1549. Xl<    33    0    0254    guilsinglleft
  1550. Xr>    33    0    0255    guilsinglright
  1551. Xfi    61    2    0256    fi
  1552. Xfl    61    2    0257    fl
  1553. X\-    56    0    0261    endash
  1554. Xdg    56    3    0262    dagger
  1555. Xdd    56    3    0263    daggerdbl
  1556. Xpp    56    3    0266    paragraph
  1557. Xbu    35    0    0267    bullet
  1558. Xbq    50    2    0271    quotedblbase
  1559. Xrq    50    2    0272    quotedblright
  1560. Xd>    56    0    0273    guillemotright
  1561. Xpm    100    2    0275    perthousand
  1562. XI?    61    1    0277    questiondown
  1563. Xga    33    2    0301    grave
  1564. X\`    "
  1565. Xaa    33    2    0302    acute
  1566. X\'    "
  1567. X^    33    2    0303    circumflex
  1568. X~    33    2    0304    tilde
  1569. Xma    33    2    0305    macron
  1570. Xbe    33    2    0306    breve
  1571. Xdt    33    2    0307    dotaccent
  1572. X..    33    2    0310    dieresis
  1573. Xum    "
  1574. Xri    33    2    0312    ring
  1575. Xcd    33    1    0313    cedilla
  1576. X''    33    2    0315    hungarumlaut
  1577. Xog    33    1    0316    ogonek
  1578. Xhc    33    2    0317    caron
  1579. Xem    100    0    0320    emdash
  1580. Xa:    56    2    0321    adieresis
  1581. Xo:    61    2    0322    odieresis
  1582. Xu:    61    2    0323    udieresis
  1583. XA:    72    2    0324    Adieresis
  1584. XO:    78    2    0325    Odieresis
  1585. XU:    72    2    0326    Udieresis
  1586. XAE    100    2    0341    AE
  1587. XPL    61    2    0350    Lslash
  1588. XO/    78    2    0351    Oslash
  1589. XOE    100    2    0352    OE
  1590. Xae    89    0    0361    ae
  1591. Xui    28    0    0365    dotlessi
  1592. XPl    28    2    0370    lslash
  1593. Xo/    61    0    0371    oslash
  1594. Xoe    94    0    0372    oe
  1595. Xss    61    2    0373    germandbls
  1596. Xff    61    2    0100    ff ligature - faked
  1597. XFi    89    2    0100    Fi ligature - faked
  1598. XFl    89    2    0100    Fl ligature - faked
  1599. X12    73    2    0100    1/2 faked - code is irrelevent
  1600. X13    73    2    0100    1/3 faked - code is irrelevent
  1601. X14    73    2    0100    1/4 faked - code is irrelevent
  1602. X18    73    2    0100    1/8 faked - code is irrelevent
  1603. X23    73    2    0100    2/3 faked - code is irrelevent
  1604. X34    73    2    0100    3/4 faked - code is irrelevent
  1605. X38    73    2    0100    3/8 faked - code is irrelevent
  1606. X58    73    2    0100    5/8 faked - code is irrelevent
  1607. X78    73    2    0100    7/8 faked - code is irrelevent
  1608. Xsq    100    3    0100    square box
  1609. END_OF_FILE
  1610.   if test 2918 -ne `wc -c <'widths/widthps/HX'`; then
  1611.     echo shar: \"'widths/widthps/HX'\" unpacked with wrong size!
  1612.   fi
  1613.   # end of 'widths/widthps/HX'
  1614. fi
  1615. echo shar: End of archive 15 \(of 19\).
  1616. cp /dev/null ark15isdone
  1617. MISSING=""
  1618. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ; do
  1619.     if test ! -f ark${I}isdone ; then
  1620.     MISSING="${MISSING} ${I}"
  1621.     fi
  1622. done
  1623. if test "${MISSING}" = "" ; then
  1624.     echo You have unpacked all 19 archives.
  1625.     echo "Read the README to get started with psroff installation"
  1626.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1627. else
  1628.     echo You still must unpack the following archives:
  1629.     echo "        " ${MISSING}
  1630. fi
  1631. exit 0
  1632.  
  1633. exit 0 # Just in case...
  1634.